System.Net.Http.HttpRequestException: устройство не настроено ---> System.Net.Sockets.SocketException: устройство не настроено - PullRequest
0 голосов
/ 16 февраля 2019

System.Net.Http.HttpRequestException: устройство не настроено ---> System.Net.Sockets.SocketException: устройство не настроено

Я получаю вышеуказанную ошибку при попыткесделать веб-запрос из пользовательского компонента промежуточного программного обеспечения для основного веб-приложения aspnet.Ошибка возникает в четвертой строке следующего блока кода:

var web = new WebClient();
var testing = _configuration.GetSection("IPStack")["AccessKey"];
web.QueryString.Add("access_key", _configuration.GetSection("IPStack")["AccessKey"]);
string ipstackRaw = web.DownloadString($"http://api.ipstack/{ipaddress}");

Я использую Visual Studio на Mac, Community Edition.Что является причиной этой ошибки?

Обновление

Я пробовал несколько вещей с момента первоначального сообщения, но безуспешно.Вот что я попробовал:

  • Запуск приложения в Visual Studio, Professional Edition на моем ПК (Windows 10)
  • Попытка запроса с использованием HttpClient
  • Попытка запроса вне промежуточного программного обеспечения

Ответы [ 2 ]

0 голосов
/ 18 февраля 2019

Убедитесь, что вы правильно указали URI запроса.

Изменить
string ipstackRaw = web.DownloadString($"http://api.ipstack/{ipaddress}");
на
string ipstackRaw = web.DownloadString($"http://api.ipstack.com/{ipaddress}");

0 голосов
/ 18 февраля 2019

Я рекомендую вам сделать это с HttpWebRequest

   string apiKey = "YOUR_ACCESS_KEY";
        var request = (HttpWebRequest)WebRequest.Create("https://api.ipstack.com/134.201.250.155?access_key="+ apiKey);
        request.Method = "GET";
        request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36";
        request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8";
        request.Headers.Add("accept-language", "en,hr;q=0.9");
        request.Headers.Add("accept-encoding", "");
        request.Headers.Add("Upgrade-Insecure-Requests", "1");
        WebResponse response = request.GetResponse();
        StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
        string responseFromServer = reader.ReadToEnd();
        reader.Close();
        response.Close();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...