Re: Загрузить страницу
От: Lloyd Россия  
Дата: 29.09.10 20:01
Оценка: 1 (1) +3
Здравствуйте, NordSky, Вы писали:

NS>Спасибо


1. Скачать и установить fiddler
2. Проделать авторизацию вручную.
3. По итогам предыдущего шага — курить логи fddler-а
4. Вкурив, воспроизвести все то же самое в коде.
Загрузить страницу
От: 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();


Спасибо
Re: Загрузить страницу
От: 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();
Re: Загрузить страницу
От: 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>


к сожалению, это тоже не помогает, могу получить лишь главную страницу
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.