C # HttpClient.SendAsync throw & ldquo; Произошла ошибка при отправке запроса & rdquo; исключение при тестировании некоторых URL

Извините, я не заметил тег PHP - однако кто-то может быть заинтересован в решении VB:

Module Module1

    Sub Main()
        Dim d As Date = Now
        Dim nextFriday As Date = DateAdd(DateInterval.Weekday, DayOfWeek.Friday - d.DayOfWeek(), Now)
        Console.WriteLine("next friday is " & nextFriday)
        Console.ReadLine()
    End Sub

End Module
23
задан Tamir Vered 12 October 2016 в 12:38
поделиться

1 ответ

Если вы посмотрите на InnerException, то увидите, что:

«Не удалось разрешить удаленное имя:« www.fc.edu »»

Этот URL также не работает в моем браузере.

Чтобы получить ответ HTTP, вам нужно, чтобы клиент имел возможность связаться с сервером (даже для того, чтобы получить ошибку 404 ), и в вашем случае произошла ошибка в DNS уровень . [тысяча сто двадцать два]

Некоторые браузеры имеют автозаполнение для таких случаев, когда, если определенный URL не найден, браузер повторяет попытку с другим суффиксом / префиксом, например:

try "x"
if didn't work, try "www." + x
if this didn't work try "www." + x + ".com"
if this didn't work try "www." + x + ".net"
if this didn't work try "www." + x + "." + currentRegionSuffix.

Но обратите внимание, что вы можете измените код с:

catch (Exception e)
{

}

на:

catch (HttpRequestException e)
{
    Console.WriteLine(e.InnerException.Message);
}

И вы сможете увидеть причину вашей ошибки.

Кроме того, Вы никогда не должны ловить универсальный Exception, если метатель не бросил универсальный Exception , и даже чем, никогда не поймать и ничего не делать с исключение, по крайней мере, записать его.

Обратите внимание, что поскольку вы ожидаете только одной задачи, которую вы можете использовать:

urlTester.RunTestAsync().Wait();

Вместо:

Task.WhenAll(urlTester.RunTestAsync());

Task.WhenAll создает новый Task, когда заданный Task с завершено. в вашем случае вам нужно Task.WaitAll или Task.WhenAll(...).Wait() .

18
ответ дан Tamir Vered 12 October 2016 в 12:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: