Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

задача обойти блокировку 403 для получения html кода страницы "www.avito.ru".

желательно через HttpWebRequest

ситуация:

при попытке обратиться к странице через HttpWebRequest возвращает 403. при том что из под того же сервера, из под тех же айпи и прокс (хоть с прокси хоть без) эта страница авито легко открывается в браузерах.

Передаешь абсолютно теже параметры заголовков что и в браузере на котором открывается через HttpWebRequest и снова возвращает 403.

Если вы сталкивались с подобной ошибкой на авито либо знаете как ее обойти, то пишите. просто потестировать не получится - т.к. тестирование будет только на нашей стороне - у вас этим же скриптом вероятнее всего все откроется (пробовали).

пример кода:

string urlL = "https://www.avito.ru/api/1/items/2048181429/phone?key=af0deccbgcgidddjgnvljitntccdduijhdinfgjgfjir";

System.Net.HttpWebRequest requestss = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(urlL);

//requestss.Proxy = new System.Net.WebProxy(proxi.Split(':')[0] + ":" + proxi.Split(':')[1]);

//requestss.Proxy.Credentials = new System.Net.NetworkCredential(proxi.Split(':')[2], proxi.Split(':')[3]);

requestss.UserAgent = @"Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:72.0) Gecko/20100101 Firefox/72.0";

CookieContainer CookieContainerss = new CookieContainer();

CookieContainerss.Add(new Cookie("u", "2om4li9k.nzclri.ta07s9uoh4g0", "/", "www.avito.ru"));

requestss.Accept = @"text/html,application/xhtml+xm…ml;q=0.9,image/webp,*/*;q=0.8";

requestss.Headers.Add("Accept-Language", "ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3");

requestss.Headers.Add("Accept-Encoding", "gzip, deflate, br");

requestss.ContentType = "text/plain";

requestss.Headers.Add("Cache-Control", "max-age=0");

requestss.Headers.Add("Upgrade-Insecure-Requests", "1");

requestss.Host = "www.avito.ru";

requestss.KeepAlive = true;

requestss.CookieContainer = CookieContainerss;

requestss.Headers.Add("Cookie", "u:2om4li9k.nzclri.ta07s9uoh4g0");

System.Net.HttpWebResponse resp = requestss.GetResponse() as System.Net.HttpWebResponse;

using (System.IO.StreamReader sr = new System.IO.StreamReader(resp.GetResponseStream()))

html = sr.ReadToEnd();

3 года назад
UniText
37 летРоссия
17 лет в сервисе
Был
2 года назад