John_Tadros Ответов: 2

ошибка при подключении к веб-сервису с помощью прокси-сервера (System.Net.WebException: не удается подключиться к удаленному серверу)


дорогие все..

я подключаюсь к веб-службе, чтобы получить конкретные результаты, и мои приложения windows загружают много файлов в соответствии с ответом от веб-службы

проблема возникает только при использовании прокси - сервера в моем internet explorer с помощью программы "аналоговый прокси-сервер"
вот какие шаги я сделал:
tools->internet options->connections->Lan settings-> and i checked use proxy server for Lan..... with address: 192.168.1.240 and port:6588




мой код для подключения к веб-сервису таков:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://www.o-survey.com");

IWebProxy proxy = request.Proxy;
if (proxy != null)
{
    MessageBox.Show("Proxy: {0}"+ proxy.GetProxy(request.RequestUri));
}
else
{
    MessageBox.Show("Proxy: {0}Proxy is null; no proxy will be used");
}

WebProxy myProxy = new WebProxy();
Uri newUri = new Uri("http://162.168.1.240:6588");
// Associate the newUri object to 'myProxy' object so that new myProxy settings can be set.
myProxy.Address = newUri;
// Create a NetworkCredential object and associate it with the
// Proxy property of request object.
myProxy.Credentials = new NetworkCredential("john", "johngra");
request.Proxy = myProxy;



а в app.config я поставил следующую строку
<system.net>

  <defaultProxy enabled="true" useDefaultCredentials="true" >
  </defaultProxy>

</system.net>


я получил эту ошибку:


System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it 192.168.1.240:6588
   at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
   at System.Net.Sockets.Socket.InternalConnect(EndPoint remoteEP)
   at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception)
   --- End of inner exception stack trace ---
   at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
   at System.Net.HttpWebRequest.GetRequestStream()
   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   at SystemTray.SQSClient.StockQuoteService.getQuote(String symbol, String terminal) in D:\Graphicano\c# projects\SystemTray\SystemTray\Web References\SQSClient\Reference.cs:line 84
   at SystemTray.Form1.checker(Int32 updater_action, Int32 show_button) in D:\Graphicano\c# projects\SystemTray\SystemTray\MainForm.cs:line 1108



любая идея для решения этой проблемы, пожалуйста, как можно скорее, мне нужно решить ее быстро

заранее спасибо

Ron Beyer

Вы действительно используете прокси-сервер на одном из своих компьютеров локальной сети? Или вы просто пытаетесь маршрутизировать трафик через другой компьютер по IP-адресу?

John_Tadros

я делаю прокси на своем ПК только через internet explorer и аналоговую прокси программу

и я пытаюсь подключиться к интернету через этот прокси-сервер

2 Ответов

Рейтинг:
2

Ron Beyer

Возможно, вам придется прочитать, Что такое прокси-серверы:

прокси сервера[^]

На компьютере, к которому вы пытаетесь подключиться и создать прокси-сервер, должен быть запущен прокси-сервер. Это часть программного обеспечения, которая перенаправляет запросы. В вашем случае на компьютере 192.168.1.240 должен быть установлен и настроен прокси - сервер для маршрутизации трафика. Тогда ваш другой компьютер может использовать его в качестве прокси-сервера. В противном случае он выдаст сообщение "невозможно подключиться", которое вы получаете.


John_Tadros

Спасибо за Ваш быстрый ответ,

но как установить прокси-сервер, установленный в 192.168.1.240??? и может ли аналоговая прокси-программа сделать эту задачу за меня???

заранее спасибо за ваш ответ

Ron Beyer

В нижней части ссылки, которую я дал, есть ссылки на серверы, которые вы можете установить. Вы должны физически находиться на машине (192.168.1.240), чтобы установить ее, или иметь какой-то доступ к удаленному рабочему столу. Я не совсем понимаю, что вы подразумеваете под "аналоговой прокси-программой"?

John_Tadros

большое спасибо..

аналоговый прокси - это программа, http://www.analogx.com/contents/download/Network/proxy/Freeware.htm

сейчас я проверю ваше решение


спасибо за вашу помощь

John_Tadros

извините, что я сначала вставил неправильный url-адрес
url-адрес: http://www.analogx.com/contents/download/Network/proxy/Freeware.htm

Рейтинг:
1

Stephen Hewison

То WebRequest объект обладает полезным свойством DefaultWebProxy

Это возвращает значение IProxy объект, который вы пытаетесь настроить на основе параметров прокси-сервера вашей системы.

http://msdn.microsoft.com/en-us/library/system.net.webrequest.defaultwebproxy.aspx[^]