winhttprequest.responsetextフルHTMLを返しませんか?
-
28-10-2019 - |
質問
winhttpリクエストを使用してvb.netでWebページ(HTTPS Webサイト)を取得しようとしましたが、何らかの理由で部分的なHTMLを返すだけで、取ることができる文字の数に長さの制限はありますか?もしそうなら、たとえば10000番目の文字の後にコンテンツを取得できますか?
関連するコードはここにあります:
oRequest = New WinHttp.WinHttpRequest oRequest.Open("GET", sQueryURL, False) oRequest.SetTimeouts(0, 600000, 0, 0) oRequest.Send() If oRequest.Status = "200" Then Debug.Print(oRequest.ResponseText) Else End If
解決
winhttprequestを使用してからしばらく経ちましたが、ResponseTextを読むとすぐに、winhttprequestが応答の処理を中止すると思います。あなたが応答を読むのに正しかったので、私はあなたが応答テキストを印刷するまでに完全な応答が到来していないと思います!
試してみる2つのオプションがあると思います。
- 使用する
WinHttpRequest.WaitForResponse()
応答全体が準備が整うのを待ちます - 使用する
WinHttpRequest.ResponseStream
チャンクで応答を処理するには(チャンクをバイトから読み取り可能なテキストに変換する必要があります)
vb.netを使用しているかどうかはわかりませんが、あなたが次の場合:使用することを検討してください system.web.httprequest. 。インターフェイスはほぼ同じで、作業例とアドバイスを見つけるのが簡単になります。
所属していません StackOverflow