http-клиент получил неверную страницу запроса от Google - PullRequest
0 голосов
/ 28 марта 2012

Я отправил следующий http-запрос в Google, и он вернул страницу с неверным запросом.Было ли что-то не так в моей просьбе?Я реализовывал прокси-сервер с C ++.Я перенаправил запросы клиентов на серверы, к которым они хотят подключиться.Перед перенаправлением я вставил «\ r \ nConnection: close» в запрос.Была ли введена неправильная позиция?Благодарю.(Я использую "@@@", чтобы окружить запрос)

@@@GET http://www.google.com.tw/ HTTP/1.1
Host: www.google.com.tw
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:11.0) Gecko/20100101 Firefox/11.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-tw,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Proxy-Connection: keep-alive
Connection: close
Cookie:***

@@@

1 Ответ

0 голосов
/ 28 марта 2012

То, что у вас там, не является правильным по спецификации, хотя я не удивлюсь, если некоторые серверы действительно откликнутся на него (но не на Google).

  • Proxy-Connection является неправильным числом и вообще не требуется .

  • Запрос GET должен содержать относительный путьне абсолютный.Для ясности: клиенту необходимо отправить полный адрес в заголовке GET, но прокси-сервер должен извлечь его и переписать так, чтобы GET содержал путь, а заголовок хоста - имя хоста.

Чтобы провести пару простых экспериментов, просто telnet google.com 80 и скопируйте и вставьте свой запрос, а затем несколько CRLF.

...