3

WinHTTP では、たとえば HTTP ヘッダーに問題がある場合、WinHttpReceiveResponse は ERROR_WINHTTP_INVALID_SERVER_RESPONSE を返します。

不正な形式であるという事実にもかかわらず、返されたデータに到達する方法はありますか?

4

1 に答える 1

2

この場合の直接的なアプローチは、WinHTTP API をバイパスし、ソケットを使用して "生の" 読み取りを行い、応答ヘッダーを解釈するために最善を尽くすことです。

一致する行を見つけることができればcontent-length、ヘッダーが無効であっても、少なくともすべてのデータを取得できる可能性があります。このアプローチを試すには、コードをデバッガーで実行して Web サーバーから実際に送信されたものを確認するか、パケット ストリームをキャプチャして最初のパケット内を調べて生のバイトを見つけます。

結果は、明らかに、応答に関する実際の問題に依存します。

于 2012-10-25T17:12:11.137 に答える