Извините, я не заметил тег 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
Если вы посмотрите на 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()
.