У меня проблема с интернетом / безопасностью из-за написанного мной кода.
В основном я пытаюсь инициировать запрос HttpWebRequest из кода C # на определенный URL. ничего особенного, просто базовый запрос.
Когда я выполняю на своей локальной машине, все работает нормально.
При развертывании кода в среде Windows Server 2003 исключения метода GetResponse выглядят следующим образом ...
System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond xxx.xxx.xxx.xxx:80
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
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.GetResponse()
at xxxxxx.xxxxxxxxxx.xxxxxxxx.xxxxxxxxxx()
Интересно, что если я вставлю тот же URL в браузер Internet Explorer, страница загрузится нормально, поэтому я не думаю, что это проблема с подключением.
Я думал, может быть, брандмауэр? -> но он выключен.
Я также исследую безопасность среды выполнения .NET и временно установил для группы All_Code значение FullTrust.
Наконец, я добавил URL в группу доверенных сайтов.
Понятия не имею !!
Может кто-нибудь помочь?
HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create(postURL);
httpRequest.Method = "POST";
httpRequest.ContentType = "application/x-www-form-urlencoded";
httpRequest.GetResponse();
Вот журнал трассировки ...
System.Net Verbose: 0: [5004]
WebRequest :: Create (http://xxxxxxxxxxxxxx)
System.Net Verbose: 0: [5004]
HttpWebRequest # 63835064 :: HttpWebRequest (http://xxxxxxxxxx # - 1903155940)
System.Net Verbose: 0: [5004] Выход
HttpWebRequest # 63835064 :: HttpWebRequest ()
System.Net Verbose: 0: [5004] Выход
WebRequest :: Create () ->
HttpWebRequest # 63835064 System.Net
Подробно: 0: [5004]
HttpWebRequest # 63835064 :: GetResponse ()
Информация System.Net: 0: [5004]
Ассоциирование HttpWebRequest # 63835064
с ServicePoint # 11454272 System.Net
Информация: 0: [5004] Ассоциация
Соединение № 60504909 с
HttpWebRequest # 63835064
System.Net.Sockets Verbose: 0: [5004]
Разъем # 21950498 :: Socket (InterNetwork # 2)
System.Net.Sockets Verbose: 0: [5004]
Выход из гнезда # 21950498 :: Socket ()
System.Net.Sockets Verbose: 0: [5004]
Разъем # 21950498 :: Connect (53: 80 # 904160388)
System.Net.Sockets Verbose: 0: [5004]
Выход из сокета # 21950498 :: Connect ()
Информация System.Net: 0: [5004]
Ассоциирование HttpWebRequest # 63835064
с ConnectStream # 37614147 System.Net
Информация: 0: [5004]
HttpWebRequest # 63835064 - Запрос:
POST / xxxxxxxxxxx HTTP / 1.1
System.Net.Sockets Verbose: 0: [5004]
Оправа # 21950498 :: Send ()
System.Net.Sockets Verbose: 0: [5004]
Данные из сокета # 21950498 :: Отправка
// SOCKET DATA
System.Net.Sockets Verbose: 0: [5004]
Выход из сокета # 21950498 :: Send () ->
297 # 297 Информация о System.Net: 0:
[5004] ConnectStream # 37614147 -
Отправка заголовков {Content-Type:
применение / х-WWW-форм-urlencoded
Хост: paint.pure360.com Соединение:
Keep-Alive}. System.Net.Sockets
Подробно: 0: [5004]
Разъем # 21950498 :: Receive ()
System.Net.Sockets Verbose: 0: [5004]
Данные из сокета # 21950498 :: Получить
// SOCKET DATA
System.Net.Sockets Verbose: 0: [5004]
Выход из сокета # 21950498 :: Receive () ->
176 # 176 Информация о System.Net: 0:
[5004] Соединение № 60504909 - Получено
строка состояния: версия = 1.1,
StatusCode = 302,
StatusDescription = Найдено. System.Net
Информация: 0: [5004]
Соединение № 60504909 - Полученные заголовки
{Соединение: закрыть Content-Length: 0
Тип контента: текст / html Дата: ср., 23
Март 2011 00:59:11 GMT Местоположение:
http://xxxxxxxxx Сервер: Apache}.
Информация System.Net: 0: [5004]
ConnectStream # 35460724 :: ConnectStream (буферизация
0 байт.) System.Net.Sockets Verbose:
0: [5004] Сокет # 21950498 :: Dispose ()
Информация System.Net: 0: [5004]
Ассоциирование HttpWebRequest # 63835064
с ConnectStream # 35460724 System.Net
Информация: 0: [5004] Ассоциация
HttpWebRequest # 63835064 с
HttpWebResponse # 65961401 System.Net
Предупреждение: 0: [5004]
HttpWebRequest # 63835064: :() - ошибка
код 302 был получен с сервера
ответ. Предупреждение System.Net: 0:
[5004] HttpWebRequest # 63835064: :() -
Повторная подача запроса. System.Net
Информация: 0: [5004] Ассоциация
HttpWebRequest # 63835064 с
ServicePoint # 47602007 System.Net
Информация: 0: [5004] Ассоциация
Соединение № 3927761 сHttpWebRequest # 63835064 System.Net.Sockets Verbose: 0: [5004] Сокет # 66771947 :: Сокет (InterNetwork # 2) System.Net.Sockets Verbose: 0: [5004] Выход из сокета # 66771947 :: Socket () System.Net.Sockets Verbose: 0: [5004] Сокет # 66771947 :: Connect (22: 80 # 383746063) Ошибка System.Net.Sockets: 0: [5004] Исключительная ситуация в сокете # 66771947 :: Connect - попытка подключения не удалась, так какподключенная сторона не ответила должным образом через некоторое время или не удалось установить установленное соединение, поскольку подключенный хост не смог ответить 95.128.223.22:80 System.Net.Sockets Verbose: 0: [5004] Socket # 66771947 :: Dispose () System.Чистая ошибка: 0: [5004] Исключение в HttpWebRequest # 63835064 :: - Невозможно подключиться к удаленному серверу. Ошибка System.Net: 0: [5004] в System.Net.ServicePoint.GetConnection (PooledStream PooledStream, владелец объекта, Booleanasync, IP-адрес и адрес, Socket и abortSocket, Socket & abortSocket6, время ожидания Int32) в System.Net.PooledStream.Activate (объект owningObject, логический асинхронный, Int32 timeout, GeneralAsyncDelegate asyncCallback) в System.Net.Connection.CompleteStartConnection (логический асинхронный, HttpWebRequest httpWebRequest) Ошибка System.Net: 0: [5004] Исключение в HttpWebRequest # 63835064 :: удаленный доступ к системе.Ошибка: 0: [5004]
в System.Net.ServicePoint.GetConnection (PooledStream PooledStream, владелец объекта, логический асинхронный, IP-адрес и адрес, Socket & abortSocket, Socket & abortSocket6, время ожидания Int32) в System.Net.PooledStream.Activate (owningObject, логический асинхронный, тайм-аут Int32, GeneralAsyncDelegate asyncCallback) в System.Net.Connection.CompleteStartConnection (логический асинхронный, HttpWebRequest httpWebRequest)