HttpWebRequest to avito.ru - >错误

时间:2015-07-22 17:53:06

标签: c# system.net.httpwebrequest

需要从以下任何添加中获取HTML:https://www.avito.ru/moskva/kvartiry?user=1

我有以下代码:

HttpWebRequest Request = (HttpWebRequest)WebRequest.Create(url);
        Request.ProtocolVersion = HttpVersion.Version11;
        Request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36";
        Request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*;q=0.8";
        Request.Headers.Add(HttpRequestHeader.AcceptLanguage, "ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4");
        Request.Method = "GET";
        Request.Timeout = 10000;
        using (HttpWebResponse Response = (HttpWebResponse)Request.GetResponse()) { ...;}

它过去工作得很好,直到今天。显然他们已经在他们的网站上改变了一些东西,现在代码的最后一行引发了一个错误,其中说:

  

System.Net.WebException:基本连接已关闭:传输时出现不必要的错误。 ---> System.IO.IOException:由于数据包格式不合适而导致连接错误。

问题是,我仍然从顶部的链接得到了很好的回应。

但它会在https://www.avito.ru/moskva/kvartiry/2-k_kvartira_54_m_1617_et._555913941

之类的回复中引发异常
  • 浏览器请求会按照应答方式进行响应。即使使用禁用的cookie和JS。

任何想法?

PS。错误消息在翻译时可能不准确。我的语法借口..

1 个答案:

答案 0 :(得分:0)

服务器因为忘了添加“www”而减少了我的请求。到组合网址的域名.. 伙计们,留意细节。