Итак, я знаю, что можно выполнить ping-сервер с помощью Ping.Send (string) в C#, но можно ли было бы пинговать определенное веб-приложение, а не весь сервер. Например, есть сервер с тремя веб-сайтами (a, b и c), размещенными на нем. IP-адрес сервера 1.1.1.1. У каждого из сайтов есть другой порт. Как я могу проверить, находится ли веб-сайт в настоящее время?Как я могу проверить, есть ли сайт a в сети?
1
A
ответ
5
Просто сделайте запрос на сайт
private bool PingWebSite(string url)
{
try
{
WebRequest.Create(url).GetResponse();
return true;
}
catch
{
return false;
}
}
И затем использовать его
var isWebSiteWorking = PingWebSite("http://stackoverflow.com");
2
Я не сделал бы в GetResponse() потому, что, если этот конкретный Url возвращается вам 1+ Гб файл, это заблокирует ваше приложение. Просто сделать запрос главы должен быть достаточным или использовать TcpClient.
async Task<Boolean> IsAvailable()
{
string url = "http://www.google.com";
try
{
using (var client = new HttpClient())
{
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Head, url);
var response = await client.SendAsync(request);
if (response.IsSuccessStatusCode)
{
response.Dump();
return true;
}
else
{
return false;
}
}
}
catch (Exception ex)
{
return false;
}
}
+0
Я закончил использовать TcpClient, потому что он работал лучше всего для того, что я пытался сделать. –
Смежные вопросы
- 1. Могу ли я проверить сайт через iOS?
- 2. Как я могу проверить, подключено ли устройство Android к сети?
- 3. Как я могу программно проверить, использует ли сайт HTTPS?
- 4. Как проверить, находится ли пользователь в сети
- 5. iPhone - как я могу проверить, есть ли дата в понедельник?
- 6. Проверьте, есть ли сайт
- 7. Как проверить, есть ли кто-то в сети?
- 8. Могу ли я проверить, какой сайт window.history.back() приведет пользователя?
- 9. Как проверить, находится ли Пользователь в сети?
- 10. как я могу проверить, есть ли видео на странице
- 11. Могу ли я проверить, есть ли страница на вкладке facebook?
- 12. Как я могу проверить, есть ли текстовое поле?
- 13. Javascript Как проверить, живется ли сайт
- 14. Есть ли способ проверить, могу ли я безопасно использовать Page.IsValid?
- 15. Как проверить, находится ли сервер в сети?
- 16. Как проверить, обновлен ли сайт?
- 17. Как я могу проверить, работает ли hibernate.jdbc.batch_size?
- 18. Как я могу проверить свой сайт с ie6
- 19. Могу ли я создать чат для сети?
- 20. Как проверить, подключен ли компьютер в сети?
- 21. Как я могу проверить, существует ли элемент
- 22. Как я могу проверить свой сайт с помощью селемиевой сетки?
- 23. Как я могу проверить свой сайт для другой страны?
- 24. Как я могу проверить, подскакивает ли прокрутка?
- 25. Как поддерживать сайт социальной сети?
- 26. Есть ли простой способ проверить, имеет ли сайт сертификат SSL
- 27. iphone - как проверить, подключен ли я к сети Wi-Fi?
- 28. Grails: Есть ли флаг отладки, который я могу проверить?
- 29. Как я могу проверить, запущен ли таймер1?
- 30. Как проверить, могу ли я удалить файл?
Возможный дубликат [Как проверить удаленный IP и порт доступен] (http://stackoverflow.com/questions/22903861/how-to-check-remote-ip-and-port-is-available). Второй способ - это то, что вы хотите. – Cyral
Определите «онлайн» очень точно, а затем проверьте, соответствует ли оно этому определению. Например, если вы решите, что «онлайн» означает, что вы можете получить целевую страницу, попробуйте получить целевую страницу и посмотреть, удастся ли вам это сделать. –
@Coral, что они означают по имеющимся? –