2009-04-15 15 views
1

プロキシサーバーを使用してインターネットにアクセスするコードを追加しています。 通常(HTTP)の場所からファイルを要求してもコードは正常に動作しますが、安全な場所(HTTPS)にアクセスすると機能しません。プロキシサーバーを使用してHTTPSサイトにアクセスする

これだけで正常に動作コードです:できるだけ早く私はHTTPSに行くURLを変更するよう

URL = "http://UnSecureSite.net/file.xml" 
Dim wr As HttpWebRequest = CType(WebRequest.Create(URL), HttpWebRequest) 
Dim proxy As System.Net.IWebProxy 
proxy = WebRequest.GetSystemWebProxy 
wr.Proxy.Credentials = System.Net.CredentialCache.DefaultCredentials 
Dim ws As HttpWebResponse = CType(wr.GetResponse(), HttpWebResponse) 

// (more work here) 

、私は私に戻って407を得ます。

誰もが考えている?

答えて

5

Webプロキシ経由のHTTPS要求は、標準HTTP要求と異なります。通常のHTTPリクエストはGETメソッドを使用します。ただし、HTTPS要求ではCONNECTメソッドを使用する必要があります。次に、プロキシは単にサーバーへのトンネルを確立します。後続のメッセージは、プロキシトンネルを介してクライアントとサーバー間で直接送信されます。プロキシは、間に流れるデータを解釈する方法がありません。通常の状況下では

Client -+- [CONNECT] ---> Proxy --- [DIRECT TCP] -+-> Server 
     |     |      | 
     +-------------[ENCRYPTED TCP]-------------+ 

私はそれが何が起こっているかであるかどうかを知るためにVBのコードに十分慣れていませんよ。しかし、私はそれがないと思う。最も簡単な方法は、プロキシに送信されるメッセージを傍受することです。 「CONNECT ...」で始まることを確認してください。

+0

+1鮮やかな答え。私はしばしば、HTTPSがどのようにWebプロキシ経由で働いているのか疑問に思っていました。 –

関連する問題