Имя прокси не может быть разрешено: «http» - PullRequest
1 голос
/ 23 марта 2020

Я использую следующий скрипт для загрузки файла

System.Net.WebClient wc = new System.Net.WebClient();

WebProxy wp = new WebProxy("http://api-adresse.data.gouv.fr/reverse/?lon=2.37&lat=48.357", 80);
System.Net.WebClient client = new System.Net.WebClient();

client.Proxy = wp;
client.DownloadFile("http://api-adresse.data.gouv.fr/reverse/?lon=2.37&lat=48.357:80", @"C:\Users\[redacted]\Downloads\DataDetail.csv");

Я получаю ошибку

[ERROR] Error: The proxy name could not be resolved: 'http'

Как ее устранить?

Ответы [ 2 ]

2 голосов
/ 23 марта 2020

Не уверен, почему вы подключаете прокси-сервер (URL для прокси-сервера определенно не подходит, если он вам нужен).

Я думаю, вам, вероятно, прокси вообще не нужен:

System.Net.WebClient client = new System.Net.WebClient();
client.DownloadFile("http://api-adresse.data.gouv.fr/reverse/?lon=2.37&lat=48.357", @"C:\Users\[YOUR USER NAME]\Downloads\DataDetail.csv");

Примечания:

  • Я удалил ненужные :80 из конца URL-адреса.
  • Получен ответ JSON, и ваш код загрузка его в формате CSV.
  • Вы создали неиспользованный WebClient, который я удалил.

Надеюсь, вы попадете на правильный путь.

1 голос
/ 23 марта 2020

Имя прокси-сервера должно быть только «именем хоста» или только IP-адресом.

Примеры допустимых имен прокси-сервера:

my-proxy .example.com (имя хоста указано в качестве прокси-сервера)

192.168.10.9 (IP-адрес указан в качестве прокси-сервера)

в сообщении об ошибке было указано, что указанное имя http://api... является не допустимым входным сигналом для функции WebProxy .

Как решить проблему?

Проблема может быть решена либо путем удаления прокси-сервера, либо путем указания прокси-сервера в качестве имени хоста или IP-адреса.

Рабочий код без прокси-сервера:

System.Net.WebClient wc = new System.Net.WebClient();

System.Net.WebClient client = new System.Net.WebClient();

client.DownloadFile("http://api-adresse.data.gouv.fr/reverse/?lon=2.37&lat=48.357:80", @"DataDetail.csv");

Рабочий код с действующим прокси-сервером:

System.Net.WebClient wc = new System.Net.WebClient();

// Valid Hostname specified as a proxy server
WebProxy wp = new WebProxy("my-proxy.example.com", 80);

//  Alternative:   Valid IP Address specified as the proxy server
//  WebProxy wp = new WebProxy("192.168.80.80", 80);

System.Net.WebClient client = new System.Net.WebClient();

client.Proxy = wp;
client.DownloadFile("http://api-adresse.data.gouv.fr/reverse/?lon=2.37&lat=48.357:80", @"DataDetail.csv");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...