質問

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つのオプションがあると思います。

  1. 使用する WinHttpRequest.WaitForResponse() 応答全体が準備が整うのを待ちます
  2. 使用する WinHttpRequest.ResponseStream チャンクで応答を処理するには(チャンクをバイトから読み取り可能なテキストに変換する必要があります)

vb.netを使用しているかどうかはわかりませんが、あなたが次の場合:使用することを検討してください system.web.httprequest. 。インターフェイスはほぼ同じで、作業例とアドバイスを見つけるのが簡単になります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top