Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не могу прочитать данные с сайта 
:(
    Опции темы
V0fka
Дата 19.6.2013, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 311
Регистрация: 5.11.2006
Где: Украина

Репутация: нет
Всего: нет



Привет!

На сайте есть страница, которая генерирует xml. Хочу её прочитать и обработать. На сайте Майкрософта нашел пример кода, который просто считывает страницу. Делаю:

Код

            HttpWebRequest myWebRequest = (HttpWebRequest)WebRequest.Create("http://www.microsoft.com/");
            WebProxy myProxy = new WebProxy();
            string proxyAddress = "http://proxy.name:3128";

            string username = "user";
            string password = "password";

            Uri newUri = new Uri(proxyAddress);
            myProxy.Address = newUri;
            myProxy.Credentials = new NetworkCredential(username, password);
            myWebRequest.Proxy = myProxy;
            myProxy.Credentials = new NetworkCredential(username, password);
            myWebRequest.Proxy = myProxy;

            try
            {
                HttpWebResponse myWebResponse = (HttpWebResponse)myWebRequest.GetResponse();
            }
            catch (Exception exeption)
            {

            }


В результате попадаю в исключение и имею такое описание ошибки:

Цитата
System.Net.WebException: Невозможно соединиться с удаленным сервером ---> System.Net.Sockets.SocketException: Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера [тут был IP прокси сервера]:3128
   в System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
   в System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
   --- Конец трассировки внутреннего стека исключений ---
   в System.Net.HttpWebRequest.GetResponse()
   в NewsReader.Form1.button1_Click(Object sender, EventArgs e) в c:\Users\..\Documents\Visual Studio 2012\Projects\NewsReader\NewsReader\Form1.cs 


Подскажите, что за беда?

Это сообщение отредактировал(а) V0fka - 19.6.2013, 11:47
PM MAIL   Вверх
jonie
Дата 19.6.2013, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 6
Всего: 118



firewall проверь?
А еще можно взят сниффер и посмотреть что происходит, также можно включить трассировку сети в app.config-е нечто вроде:
Код

<configuration>

<system.diagnostics>

<sources>
  <source name="System.Net.Sockets" tracemode="includehex">
    <listeners>
      <add name="System.Net.Sockets" type="System.Diagnostics.TextWriterTraceListener" initializeData="network.log" />
    </listeners>
  </source>
</sources>

<switches>
  <add name="System.Net.Sockets" value="Verbose"/>
</switches>

<trace autoflush="true" />
</system.diagnostics>
</configuration>



--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
V0fka
Дата 20.6.2013, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 311
Регистрация: 5.11.2006
Где: Украина

Репутация: нет
Всего: нет



Цитата(jonie @  19.6.2013,  23:06 Найти цитируемый пост)
firewall проверь?

Выключал - результат не изменился. Это ж может быть, что на прокси что-то уже блочит?

Цитата(jonie @  19.6.2013,  23:06 Найти цитируемый пост)
А еще можно взят сниффер и посмотреть что происходит

Поставил Wireshark. Но он отлавливает кучу всего и где мухи, где котлеты - непонятно (мне). Попробовал только хттп снифать, но туда оно не попадает. Хотя это, наверное и логично, т.к. до самого запроса и не доходит.

Цитата(jonie @  19.6.2013,  23:06 Найти цитируемый пост)
также можно включить трассировку сети в app.config-е нечто вроде:

Вставил подчеркивает и ругается на
<source name="System.Net.Sockets" tracemode="includehex">
Атрибут "tracemode" не разрешен. И вставлю я это все, например, что мне с этим потом делать? smile 
PM MAIL   Вверх
Fobos
Дата 20.6.2013, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 9.2.2008
Где: Москва

Репутация: нет
Всего: нет



а что там за адрес прокси? да и креденшелы тоже там не нужны. Не знаю что это за пример, но его надо почистить.
Вот эта строка думаю стопроцентно лишняя

Код

myWebRequest.Proxy = myProxy;

PM MAIL ICQ   Вверх
V0fka
Дата 20.6.2013, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 311
Регистрация: 5.11.2006
Где: Украина

Репутация: нет
Всего: нет



Цитата(Fobos @  20.6.2013,  13:51 Найти цитируемый пост)
а что там за адрес прокси?

Реального прокси-сервера.

Цитата(Fobos @  20.6.2013,  13:51 Найти цитируемый пост)
да и креденшелы тоже там не нужны. Не знаю что это за пример, но его надо почистить.

Отсюда http://msdn.microsoft.com/ru-ru/library/sy...uest.proxy.aspx

Цитата(Fobos @  20.6.2013,  13:51 Найти цитируемый пост)
Вот эта строка думаю стопроцентно лишняя

Завтра проверю, спасибо!
PM MAIL   Вверх
V0fka
Дата 21.6.2013, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 311
Регистрация: 5.11.2006
Где: Украина

Репутация: нет
Всего: нет



Цитата(Fobos @  20.6.2013,  13:51 Найти цитируемый пост)
Вот эта строка думаю стопроцентно лишняя

Лишняя smile  smile . Но в случае с сайтом Майкрософта - отрабатывает, а в случае с моим сайтом - всеравно ловлю исключение, другое правда smile :
Цитата
Удаленный сервер возвратил ошибку: (407) Требуется проверка подлинности посредника.

Подскажите ещё, пожалуйста, как это обойти.
PM MAIL   Вверх
V0fka
Дата 21.6.2013, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 311
Регистрация: 5.11.2006
Где: Украина

Репутация: нет
Всего: нет



Проблему вроде удалось решить сделав это:

Код

myWebRequest.Proxy.Credentials = CredentialCache.DefaultCredentials;


jonie, Fobos, спасибо за ответы!  smile 

Это сообщение отредактировал(а) V0fka - 21.6.2013, 10:56
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0453 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.