Как получить исходный код страницы https GET запросом

arthyrgrex

Client
Регистрация
12.05.2013
Сообщения
104
Благодарностей
31
Баллы
28
Ребята - собственно сабж.
Что-то по жесткому туплю - не могу получить исходный код https://youtube.com/ GET запросом?

Вроде библиотеку "using System.Web;" указал, а в переменной - пустота.
Заранее благодарен!
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
  • Спасибо
Реакции: arthyrgrex

arthyrgrex

Client
Регистрация
12.05.2013
Сообщения
104
Благодарностей
31
Баллы
28
Ты мой спаситель ))
У меня как раз до сих пор стоит 5.9.9.1 - нужно обновиться..
сижу.. долблюсь.., а ту такая тема )
 
  • Спасибо
Реакции: Dimionix

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
5.9.9.1 один из самых удачных билдов, если не самый-самый, но вот работа на запросах с YT - это да, есть небольшой косячок, но к счастью решаемый.
 
Последнее редактирование:
  • Спасибо
Реакции: Animal и arthyrgrex

arthyrgrex

Client
Регистрация
12.05.2013
Сообщения
104
Благодарностей
31
Баллы
28
А вот кстати без библиотек и не поперло =)

Указал using System.Web; и Net
И только с ними заработало.


Подскажи пожалуйста еще 1 момент:
- как получить в переменную исходный код главной страницы?

А то я в ответ только OK получаю таким кодом:
Код:
string userAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0";
string url = "https://www.youtube.com/";

// GET запрос
HttpWebRequest request = (HttpWebRequest) WebRequest.Create(url);
request.Method = "GET";
request.UserAgent = userAgent;
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
string resultGet = reader.ReadToEnd();
response.Close();
reader.Close();
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
А вот кстати без библиотек и не поперло =)
Да, всё верно, извиняюсь, using System.Net; указать нужно))
C#:
string userAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0";
string url = "https://www.youtube.com/";

// GET запрос
HttpWebRequest request = (HttpWebRequest) WebRequest.Create(url);
request.Method = "GET";
request.UserAgent = userAgent;
request.Headers.Add("Accept-Language", "ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3"); // если возвращаемые данные нужны на русском языке
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
string resultGet = reader.ReadToEnd();
response.Close();
reader.Close();

return resultGet;
 

arthyrgrex

Client
Регистрация
12.05.2013
Сообщения
104
Благодарностей
31
Баллы
28
красавчик!
 

Petr_G

Client
Регистрация
20.10.2017
Сообщения
96
Благодарностей
53
Баллы
18
Да, всё верно, извиняюсь, using System.Net; указать нужно))
C#:
string userAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0";
string url = "https://www.youtube.com/";

// GET запрос
HttpWebRequest request = (HttpWebRequest) WebRequest.Create(url);
request.Method = "GET";
request.UserAgent = userAgent;
request.Headers.Add("Accept-Language", "ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3"); // если возвращаемые данные нужны на русском языке
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
string resultGet = reader.ReadToEnd();
response.Close();
reader.Close();

return resultGet;
Скажите, а прокси как сюда вписать правильно?!
 

dr1veq

Пользователь
Регистрация
09.02.2018
Сообщения
39
Благодарностей
44
Баллы
18
Скажите, а прокси как сюда вписать правильно?!
Код:
string userAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0";
string url = "https://www.youtube.com/";

//Прокси
WebProxy proxyA = new WebProxy();
Uri newUri = new Uri("http://IP:PORT");
proxyA.Address = newUri;
proxyA.Credentials = new NetworkCredential(login, password);

// GET запрос
HttpWebRequest request = (HttpWebRequest) WebRequest.Create(url);
request.Method = "GET";
request.Proxy = proxyA;
request.UserAgent = userAgent;
request.Headers.Add("Accept-Language", "ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3"); // если возвращаемые данные нужны на русском языке
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
string resultGet = reader.ReadToEnd();
response.Close();
reader.Close();

return resultGet;
 
  • Спасибо
Реакции: Petr_G

Tom Cruise

Новичок
Регистрация
20.06.2018
Сообщения
16
Благодарностей
1
Баллы
3
Столкнулся с проблемой, если результат ответа не 200 ОК, а 400 BAD, то кубик C# завершается по ошибке и не возвращает ответ. Как это можно пофиксить? Использую такой код:
Код:
string userAgent = project.Variables["useragent"].Value;
string url = "https://mail.ru/";

//Прокси
WebProxy proxyA = new WebProxy();
Uri newUri = new Uri("http://"+project.Variables["proxy_ip"].Value+":"+project.Variables["proxy_port"].Value);
proxyA.Address = newUri;
proxyA.Credentials = new NetworkCredential(project.Variables["proxy_login"].Value, project.Variables["proxy_pass"].Value);
// GET запрос
HttpWebRequest request = (HttpWebRequest) WebRequest.Create(url);
request.Method = "GET";
request.Proxy = proxyA;
request.UserAgent = userAgent;
request.Headers.Add("Accept-Language", "ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3"); // если возвращаемые данные нужны на русском языке
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
string cookies = response.GetResponseHeader("Set-Cookie");
string resultGet = reader.ReadToEnd();
response.Close();
reader.Close();

project.Variables["answer"].Value = cookies + resultGet;
 

dr1veq

Пользователь
Регистрация
09.02.2018
Сообщения
39
Благодарностей
44
Баллы
18
Столкнулся с проблемой, если результат ответа не 200 ОК, а 400 BAD, то кубик C# завершается по ошибке и не возвращает ответ. Как это можно пофиксить? Использую такой код:
Код:
string userAgent = project.Variables["useragent"].Value;
string url = "https://mail.ru/";

//Прокси
WebProxy proxyA = new WebProxy();
Uri newUri = new Uri("http://"+project.Variables["proxy_ip"].Value+":"+project.Variables["proxy_port"].Value);
proxyA.Address = newUri;
proxyA.Credentials = new NetworkCredential(project.Variables["proxy_login"].Value, project.Variables["proxy_pass"].Value);
// GET запрос
HttpWebRequest request = (HttpWebRequest) WebRequest.Create(url);
request.Method = "GET";
request.Proxy = proxyA;
request.UserAgent = userAgent;
request.Headers.Add("Accept-Language", "ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3"); // если возвращаемые данные нужны на русском языке
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
string cookies = response.GetResponseHeader("Set-Cookie");
string resultGet = reader.ReadToEnd();
response.Close();
reader.Close();

project.Variables["answer"].Value = cookies + resultGet;

Код:
[CODE]tring userAgent = project.Variables["useragent"].Value;
string url = "https://mail.ru/";
try {
//Прокси
WebProxy proxyA = new WebProxy();
Uri newUri = new Uri("http://"+project.Variables["proxy_ip"].Value+":"+project.Variables["proxy_port"].Value);
proxyA.Address = newUri;
proxyA.Credentials = new NetworkCredential(project.Variables["proxy_login"].Value, project.Variables["proxy_pass"].Value);
// GET запрос
HttpWebRequest request = (HttpWebRequest) WebRequest.Create(url);
request.Method = "GET";
request.Proxy = proxyA;
request.UserAgent = userAgent;
request.Headers.Add("Accept-Language", "ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3"); // если возвращаемые данные нужны на русском языке
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
string cookies = response.GetResponseHeader("Set-Cookie");
string resultGet = reader.ReadToEnd();
response.Close();
reader.Close();
project.Variables["answer"].Value = cookies + resultGet;
}
catch(Exception e)
{
  project.Variables["answer"].Value = e.Message;
}
 
  • Спасибо
Реакции: phirelli и Roman*

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)