[VB6]WinsockでProxyを利用する方法

解決


旅人  2005-09-13 22:31:19  No: 92233

過去に同じような質問があり解決に至っているようでしたが
どのように解決したのかサンプルコード等が記述されていないようでしたので
今後同じような問題に悩まされる方々の為、資料提供しておきます。

例えば通常WinsockコントロールでWebサーバーにアクセスする場合は次のように記述します。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
Winsock1.RemoteHost = "www.microsoft.com"
Winsock1.RemotePort = 80
Winsock1.Protocol = sckTCPProtocol
Winsock1.Connect
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

Proxy経由にしたい場合は「Winsock1.Connect」部分が変化し
「Winsock1.Connect "Proxyのアドレス", "使用ポート番号"」
のように記述します。
※「192.168.0.1:8000」というProxyを経由する場合。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
Winsock1.RemoteHost = "www.microsoft.com"
Winsock1.RemotePort = 80
Winsock1.Protocol = sckTCPProtocol
Winsock1.Connect "192.168.0.1", "8000"
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
※Proxyのアドレス部分は「microsoft.proxy.com」のように
  ホスト名指定でもOKです。

又、Webサーバーにデータ要求を送信する部分も次のように変化します。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
【通常時】
Winsock1.SendData CStr("GET /index.html" + vbCrLf)
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
【Proxy使用時】
Winsock1.SendData CStr("GET http://www.microsoft.com/index.html" + vbCrLf)
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
Proxy使用時は先頭URLからフルパスで指定しなければなりません。

以上です。


旅人  2005-09-13 22:32:19  No: 92234

情報提供であり質問ではないので解決としておきます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加