![](/img/trans.png)
[英]Using HttpWebRequest to download html pages returns ContentLength as -1
[英]HttpWebRequest For Atom URL returns HTML Content
我正在嘗試將Atom提要加載到字符串中,並且正在使用以下方法:
private string GetXml(string urlString)
{
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11;
StringBuilder sb = new StringBuilder();
// Create a new HttpWebRequest object.Make sure that
// a default proxy is set if you are behind a firewall.
HttpWebRequest myHttpWebRequest1 =
(HttpWebRequest)WebRequest.Create(urlString);
myHttpWebRequest1.KeepAlive = false;
myHttpWebRequest1.ContentType = "text/xml";
// Assign the response object of HttpWebRequest to a HttpWebResponse variable.
HttpWebResponse myHttpWebResponse1 =
(HttpWebResponse)myHttpWebRequest1.GetResponse();
Debug.WriteLine("\nThe HTTP request Headers for the first request are: \n{0}", myHttpWebRequest1.Headers);
Stream streamResponse = myHttpWebResponse1.GetResponseStream();
StreamReader streamRead = new StreamReader(streamResponse);
Char[] readBuff = new Char[256];
int count = streamRead.Read(readBuff, 0, 256);
Debug.WriteLine("The contents of the response are.......\n");
while (count > 0)
{
String outputData = new String(readBuff, 0, count);
sb.Append(outputData);
count = streamRead.Read(readBuff, 0, 256);
}
// Close the Stream object.
streamResponse.Close();
streamRead.Close();
return sb.ToString();
}
這適用於大多數提要,但是http://tipsforbbq.com/RSS在我的瀏覽器中顯示為原子提要,它返回HTML頁面(可在http://tipsforbbq.com/找到)。 有誰知道為什么會這樣?
我在HttpWebRequest上也遇到了類似的問題,並使用了著名的用戶代理解決了該問題。
myHttpWebRequest1.UserAgent= @"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1";
希望對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.