Xojo備忘録 webアプリでユーザーのブラウザやらなんやらを取得する


 

perlなどでは

foreach (sort keys (%ENV)){
    print “$_: $ENV{$_}<BR>\n”;
}

な形で取得できるがxojoの場合ちょっと違う。
例えばREMOTE_HOSTなどは

Session.RemoteAddress

で得ることができるが、QUERY_STRINGなどを取得する簡単な方法がわからなかったので調べてみたらリファレンスにサンプルが載っていた。
はじめapacheのQUERY_STRINGを

System.EnvironmentVariable(“QUERY_STRING”)

もしくは

System.EnvironmentVariable(“REQUEST_URI”)

にて取れるかなと思ったが外したようでサンプルによると

If session.URLParameterCount > 0 Then
          Dim parameterName, value As String
          For i As Integer = 0 To session.URLParameterCount-1
                    parameterName = session.URLParameterName(i)
                    value = session.URLParameter(parameterName)
                    TextArea1.AppendText(parameterName + ” = ” + value + EndOfLine)
          Next
End If

※この例ではTextArea1に書き出している。

URLParameterで取得可能なような。

自分がこれを使いたいと思った理由はオンラインサインアップなどでよくメールに認証用のURLが送られてくるがあれと同じことをやりたかったためである。

サンプル

http://124.41.69.194/567/labo/xojoweb/xojowebtest.cgi

http://124.41.69.194/567/labo/xojoweb/xojowebtest.cgi?a=123&b=abcdefg

Leave a Reply

Your email address will not be published. Required fields are marked *