2013-02-15 3 views
4

Я думаю, у меня есть два вопроса:Отправлять HTTP-пакеты без браузера?

  1. Я пытаюсь отправить запрос HTTP на веб-сервер без использования веб-браузера. Я читал, что самый распространенный способ сделать это с помощью Telnet, но мне было интересно узнать другие способы.

  2. Кроме того, я думаю, что у моего telnet есть проблема. Я активировал telnet-клиент и перешел в командное окно и набрал telnet, затем набрал «открытый IP-адрес 80», и он говорит «подключение к IP-адресу ...» навсегда, но никогда не позволяет мне пройти мимо этого. Кто-нибудь из вас столкнулся с этой проблемой? Кроме того, я заметил на Wireshark, что рукопожатие TCP происходит правильно.

Прошу вас, спасибо!

ответ

0

Вы указали порт? Порт 80 обычно используется для HTTP-запросов.

telnet www.some-site.com/some-page.html 80

После подключения необходимо сделать GET запрос. (Отправьте команду GET).

+0

Да, я задал порт 80. Когда я этого не делаю, он использует порт 23 по умолчанию и соединение терпит неудачу. – Ann

0

Вы могли бы сделать то же самое с помощью sockets или WebClient (C#):

По умолчанию это является Telnet:

В командной строке телнет вы могли бы сделать:

o host port>   (o www.website.com 80) 
GET /index.htm HTTP/1.1 

Использование a WebClient (Примечание: это объект WebClient C#):

var webClient = new WebClient(); 
webClient.Headers.Add("user-agent", "Agent"); 
Stream responseStream = webClient.OpenRead("http://www.google.com") 

Ответ от сервера будет храниться внутри объекта responseStream.

2

Вы также должны проверить утилиту командной строки curl: http://curl.haxx.se/ В принципе, это классная небольшая часть программного обеспечения, которая обрабатывает HTTP-запросы (а также поддерживает другие протоколы). Также проверьте hurl: http://www.hurl.it/, который является своего рода версией завитки веб-приложения.

+0

curl - идеальное решение. – Kylar

Смежные вопросы