Отправка запроса серверу - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. Появилась необходимость получить входящую и исходящую скорость интернета программным путём. Для этой цели выбрал следующий сайт http://www.speedinternet.ru На сайте имеется кнопка "НАЧАТЬ ТЕСТ", когда навести курсор на эту кнопочку, браузер высветит адрес php скрипта которым она обрабатывается (www.speedinternet.ru/test/start/download.php). Если вставить этот адрес в строку браузера - то действительно запускается тест. Хорошо, теперь пробую через C#: Сначала WebRequest, потом HttpWebRequest. Во всех случаях одна и таже ошибка Additional information: Недопустимый URI: Невозможно определить формат URI. Вот примеры кода:
Листинг программы
  1. WebResponse response = (WebRequest.Create(@"www.speedinternet.ru/test/start/download.php")).GetResponse();
Листинг программы
  1. HttpWebRequest request = (HttpWebRequest)WebRequest.Create(@"www.speedinternet.ru/test/start/download.php");
Подскажите пожалуйста, что я делаю неверно. Заранее благодарен за помощь.

Решение задачи: «Отправка запроса серверу»

textual
Листинг программы
  1.         private void button1_Click(object sender, EventArgs e)
  2.         {
  3.             MessageBox.Show("Скорость входящего соединения с Яндекс = " + (CalcSpeed("http://yandex.ru/") / 1000) + " Кбит/сек.");
  4.         }
  5.  
  6.         public static double CalcSpeed(string url)
  7.         {
  8.             WebClient wc = new WebClient();
  9.             DateTime dt1 = DateTime.Now;
  10.             byte[] data = wc.DownloadData(url);
  11.             DateTime dt2 = DateTime.Now;
  12.             return (data.Length * 8) / (dt2 - dt1).TotalSeconds;
  13.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.917 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы