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

投稿者: | 2017年5月12日

 

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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です