От:
NordSky
Дата: 29.09.10 15:25
Оценка:
Как загрузить html страницу, если на сайте используется авторизация? как авторизоваться?
Код ниже скачает только часть страницы, доступную неавторизованному пользователю:
StringBuilder sb = new StringBuilder();
byte [] buf = new byte [8192];
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://mysite.com" );
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
Stream resStream = response.GetResponseStream();
Спасибо
От:
Spiceman
Дата: 29.09.10 15:43
Оценка:
Здравствуйте, NordSky, Вы писали:
Зависит от того, какой способ авторизации.
Например, установи свойство
Credentials
Re[2]: Загрузить страницу
От:
NordSky
Дата: 29.09.10 15:45
Оценка:
Здравствуйте, Spiceman, Вы писали:
S>Здравствуйте, NordSky, Вы писали:
S>Зависит от того, какой способ авторизации.
S>Например, установи свойство Credentials
я попробавал вот так :
request.PreAuthenticate = true ;
request.Credentials = new NetworkCredential("login" ,"password" );
эффект нулевой
Re[3]: Загрузить страницу
От:
Spiceman
Дата: 29.09.10 16:58
Оценка:
Здравствуйте, NordSky, Вы писали:
NS>NS>request.PreAuthenticate = true ;
NS>request.Credentials = new NetworkCredential("login" ,"password" );
NS>
NS>эффект нулевой
Не уверен по поводу request.PreAuthenticate = true;
Возможно его нужно оставить по-умолчанию false.
Вот мой код, работающий на продуктиве
System.Net.WebRequest request = System.Net.WebRequest.Create(_url);
request.Method = "GET" ;
request.Credentials = new System.Net.NetworkCredential(login, password);
System.Net.WebResponse response = request.GetResponse();
return response.GetResponseStream();
От:
Sharov
Дата: 29.09.10 17:08
Оценка:
Здравствуйте, NordSky, Вы писали:
Попробуйте так:
CredentialCache credCache = new CredentialCache();
credCache.Add("www.test.com" , "Basic" ,
new NetworkCredential("login" , "passwoed" ));
httpWebRequest.Credentials = credCache;
Кодом людям нужно помогать!
Re[4]: Загрузить страницу
От:
NordSky
Дата: 29.09.10 19:58
Оценка:
Здравствуйте, Spiceman, Вы писали:
S>Не уверен по поводу request.PreAuthenticate = true;
S>Возможно его нужно оставить по-умолчанию false.
S>Вот мой код, работающий на продуктиве
S>S> System.Net.WebRequest request = System.Net.WebRequest.Create(_url);
S> request.Method = "GET" ;
S> request.Credentials = new System.Net.NetworkCredential(login, password);
S> System.Net.WebResponse response = request.GetResponse();
S> return response.GetResponseStream();
S>
Не пашет, я получаю главную страницу, а не ту, которая мне нужна, видимо авторизация не проходит
Re[2]: Загрузить страницу
От:
NordSky
Дата: 29.09.10 19:59
Оценка:
Здравствуйте, Sharov, Вы писали:
S>Здравствуйте, NordSky, Вы писали:
S>Попробуйте так:
S>
S>CredentialCache credCache = new CredentialCache();
S>credCache.Add("www.test.com" , "Basic" ,
S> new NetworkCredential("login" , "passwoed" ));
S>httpWebRequest.Credentials = credCache;
S>
к сожалению, это тоже не помогает, могу получить лишь главную страницу
Здравствуйте, NordSky, Вы писали:
NS>Спасибо
1. Скачать и установить fiddler
2. Проделать авторизацию вручную.
3. По итогам предыдущего шага — курить логи fddler-а
4. Вкурив, воспроизвести все то же самое в коде.
Пока на собственное сообщение не было ответов, его можно удалить.
Удалить