C # – Как сделать HTTP-вызов

Я хотел сделать HTTP-запрос на веб-сайт. Мне просто нужно нажать URL и не хотите загружать или скачивать какие-либо данные. Каков самый простой и быстрый способ сделать это.

Я пробовал код ниже, но его медленный и после второго повторного запроса он просто переходит в тайм-аут на 59 секунд, а затем возобновляет:

WebRequest webRequest = WebRequest.Create("http://ussbazesspre004:9002/DREADD?" + fileName); webRequest.Method = "POST"; webRequest.ContentType = "application/x-www-form-urlencoded"; webRequest.ContentLength = fileName.Length; Stream os = webRequest.GetRequestStream(); os.Write(buffer, 0, buffer.Length); os.Close(); 

Является ли использование WebClient более эффективным?

 WebClient web = new WebClient(); web.UploadString(address); 

Я использую .NET ver 3.5

3 Solutions collect form web for “C # – Как сделать HTTP-вызов”

У вас есть дополнительные вещи, если вы действительно просто пытаетесь позвонить на веб-сайт. Все, что вам нужно, это:

 WebRequest webRequest = WebRequest.Create("http://ussbazesspre004:9002/DREADD?" + fileName); WebResponse webResp = webRequest.GetResponse(); 

Если вы не хотите ждать ответа, вы можете посмотреть BeginGetResponse, чтобы сделать его асинхронным.

Если вы не хотите загружать какие-либо данные, вы должны использовать:

 webRequest.Method = "GET"; 

Если вам действительно не нужно возвращать какие-либо данные (например, если вы просто хотите проверить, доступна ли страница), используйте:

 webRequest.Method = "HEAD"; 

В любом случае вместо webRequest.GetRequestStream() используйте:

 WebResponse myWebResponse = webRequest.GetResponse(); 

WebClient – это более короткий и более сжатый синтаксис, но за кулисами он использует WebRequest, поэтому с точки зрения производительности он не будет быстрее, он будет эквивалентен. Если вы хотите, чтобы это было быстрее, вам придется улучшить скрипт на стороне сервера или сетевую инфраструктуру. Проблема не на стороне клиента.

Interesting Posts

Как установить соединение по коммутируемому соединению автоматически после загрузки + загрузки 90 МБ данных в Windows?

Почему значение с плавающей запятой, такое как 3.14, по умолчанию считается в MSVC?

Android – SharedPreferences с сериализуемым объектом

Как найти одно изображение внутри другого?

Является ли оператор неравенства быстрее, чем оператор равенства?

Draggable возвращается, если вне этого div и внутри других draggables (используя как недопустимые, так и действительные варианты возврата)

Устранение сбоев в работе Windows 7

java.io.FileNotFoundException: этот файл не может быть открыт в качестве дескриптора файла; он, вероятно, сжат

Предотвращение остановки уже запущенного фонового процесса после закрытия SSH-клиента

Вложение бинарных капель с использованием gcc mingw

Вопросы о пуле строк Java

Ruby on Rails – проверка стоимости

Java: notify () vs. notifyAll () снова и снова

Установить значение для конкретной ячейки в pandas DataFrame с использованием индекса

Как создать общий массив в Java?

Давайте будем гением компьютера.