2014-11-11 5 views
2

Я хочу загрузить контент с https://localhost:3000/ с помощью метода WebClient.DownloadString, но этот вызов заканчивается SocketException: No connection could be made because the target machine actively refused it, хотя адрес доступен через браузер.WebClient не может загрузить строку из localhost

Я выяснил, что этот запрос является успешным, если я заменяю 127.0.0.1 (поэтому адрес https://127.0.0.1:3000).

Как исправить это, чтобы я мог использовать адрес localhost (он должен быть localhost из-за SSL-сертификата)?

+0

«Активно отказался» означает, что хост отправил сброс вместо ack, когда вы пытались подключиться. Поэтому это не проблема в коде. Либо есть брандмауэр, блокирующий соединение, либо процесс, на котором размещается служба, не прослушивает этот порт, это может быть связано с тем, что он не работает вообще или потому, что он прослушивает другой порт. – HaveNoDisplayName

+0

Вы можете обратиться к следующим ссылкам: http://stackoverflow.com/questions/2972600/no-connection-could-be-made-because-the-target-machine-actively-refused-it и http: // stackoverflow. com/questions/24096657/no-connection-could-be-made-because-the-target-machine-active-отказано-127-ОН – HaveNoDisplayName

+0

Спасибо за ваш ответ. Как я писал в вопросе, сервис работает и доступен через веб-браузер на 127.0.0.1, а также адрес onlocalhost, но у WebClient есть проблемы с адресом localhost, 127.0.0.1 в порядке, поэтому я думаю, что брандмауэр здесь не проблема:) –

ответ

0

WebClient был перевод localhost адрес на адрес IPv6 ::1, и я не знал об этом. Поэтому я добавил новую строку в файл hosts ::1 localhost и изменил адрес прослушивания сервера на ::1.

Смежные вопросы