2008年4月23日水曜日

HTTP 経由でのプロクシサーバ認証

http://www.nsoftware.com/kb/showentry.aspx?entry=12119701

該当製品:


  • IP*Works!


現象:


プロクシサーバを使うように変更したのですが、そのサーバはプロクシ認証を必要とします。"USER" プロパティと "PASSWORD" プロパティを使おうとしているのですが、"407 proxy authenticate required" で失敗するようになってしまいました。

解決法:


.User プロパティおよび .Password プロパティは認証文字列を計算しウェブサイトに送信します。一方プロクシ認証では、ProxyUser プロパティおよび ProxyPassword プロパティを使用することになります。

旧バージョンの IP*Works! では、Proxy-Authorization ヘッダをあなた自身が手で設定する必要があります。

この場合、認証文字列の計算は以下の例のように、まず .User プロパティおよび .Password プロパティに値を設定し、.Authorization プロパティを読み取ります。(この手順は基本認証を使って認証文字列を計算するために、1度だけ行う必要があります。)
     '認証文字列の計算
HTTP1.User = "myname" 'put your proxy login name here
HTTP1.Password = "mypassword" 'put your proxy password here
HTTP1.OtherHeaders = "Proxy-Authorization: " + _
HTTP1.Authorization + chr(13) + chr(10)

'認証はプロキシに対してのみなので空文字列を設定しておく
HTTP1.User = ""
HTTP1.Password = ""

プロキシサーバを通過する全てのリクエストはこの "Proxy-Authorization: ..." ヘッダを .OtherHeaders プロパティ内に保持しているべきです。

個々のプロパティについてはヘルプファイルを参照して下さい。

なお、.URL プロパティに値を設定する時にサーバ値を変更すると、User プロパティおよび Password プロパティの値はクリアされる点に注意してください。これはセキュリティ上の理由によります。

0 件のコメント: