簡體   English   中英

如何通過HTTP獲得響應

[英]How to get the response over HTTP

我正在發送HTTP請求。 我需要保存對該請求的HTTP響應。

這是請求網址: http://notify.test.com/gateway.do?service=notify_verify&partner=2088&notify_id=abcdefghijklmnopqrsthttp://notify.test.com/gateway.do?service=notify_verify&partner=2088&notify_id=abcdefghijklmnopqrst

我試過的代碼如下:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://notify.test.com/gateway.do?service=notify_verify&partner=2088&notify_id=abcdefghijklmnopqrst");
        request.Proxy = WebProxy.GetDefaultProxy();
        request.Proxy.Credentials = CredentialCache.DefaultCredentials;
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        Stream resStream = response.GetResponseStream();

響應將為True或False。 我怎么能保存?

如果您的要求很簡單, WebClient會有很長的路要走:

string result;
using(var client = new WebClient()) {
    client.Proxy = ...
    result = client.DownloadString(uri);
}

另見: DownloadData

您從GetResponseStream()獲取System.IO.StreamStream為您提供了可以閱讀的Read方法

using(Stream resStream = response.GetResponseStream()){ //release Stream after use
    if(resStream.CanRead){
        byte[] buffer = new byte[resStream.Length]; // or whatever
        if(resStream.Read(buffer, 0, resStream.Length) == 0) 
        {
            // end of Stream
        }
        else{
             //data received, work on buffer
        }
    }
}

請參閱此處獲取System.IO.Stream

using(var resStream = response.GetResponseStream())
using(var reader = new StreamReader(resStream))
{
    var responseText = reader.ReadToEnd();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM