[英]How to get the response over HTTP
我正在發送HTTP請求。 我需要保存對該請求的HTTP響應。
這是請求網址: http://notify.test.com/gateway.do?service=notify_verify&partner=2088¬ify_id=abcdefghijklmnopqrst
: http://notify.test.com/gateway.do?service=notify_verify&partner=2088¬ify_id=abcdefghijklmnopqrst
我試過的代碼如下:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://notify.test.com/gateway.do?service=notify_verify&partner=2088¬ify_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.Stream
, Stream
為您提供了可以閱讀的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.