0

WinHttpに(「GET」または「POST」ではなく)「CONNECT」呼び出しを行わせようとしています。これは次のようになります。

CONNECT www.etrade.com:443 HTTP/1.0
Host: www.etrade.com

ただし、winhttpは常に、次のように「CONNECT」動詞の後にパスを適用します(場所の前)。

CONNECT /www.etrade.com:443 HTTP/1.0
Host:  www.etrade.com

回避策はありますか?または私は何か間違ったことをしていますか?これはC#.net 3.5フレームワーク、Winhttp5.1にあります

4

2 に答える 2

1

CONNECTはHTTP動詞ではなく、HTTPSリクエストの開始です({SSL接続部分)。WinHTTPでは、WINHTTP_FLAG_SECUREOpenRequestを使用するだけです。何かのようなもの:

hConnect = WinHttpConnect(
              hSession, 
              "www.etrade.com", 
              443, 
              0
           );
hRequest = WinHttpOpenRequest(
              hConnect,  
              "GET", 
              "/", 
              "HTTP/1.0", 
              WINHTTP_NO_REFERER, 
              WINHTTP_DEFAULT_ACCEPT_TYPES, 
              WINHTTP_FLAG_SECURE
           );

これにより、CONNECT(SSL接続用)、次にGET /(HTTP部分用)が取得されます。

于 2009-08-25T02:12:15.340 に答える
0

System.NETではなくWinHTTPを使用しているのはなぜですか?

あなたのコードは(具体的には)どのように見えますか?

手動でCONNECTを作成して、何を達成したいと思いますか?

于 2009-08-25T01:57:30.663 に答える