Форум сайта python.su
Как обратится к сайту используя именно http пакет (не по ссылке)
GET /img/ HTTP/1.0
Location: mytestsite.ru
Host: ...
Отредактировано ivanzzz (Июнь 2, 2016 22:01:07)
Офлайн
Офлайн
У меня получилось сделать из консоли запрос GET и получить ответ (в данном примере сайт akva.by взят навскидку, это белорусский форум аквариумистов):
>>> from http.client import HTTPConnection >>> from urllib.parse import urlencode >>> con = HTTPConnection("akva.by") >>> con.request("GET", "/forum/index.php") >>> result = con.getresponse() >>> print(result.read().decode("utf-8")) # ... (огромный объем выданного текста, кода JavaScript и HTML-разметки здесь не приводится) >>> con.close()
Отредактировано old_monty (Июнь 3, 2016 11:46:25)
Офлайн
А как добавить остальные заголовки?
Офлайн
ivanzzzОб этом подробно рассказывается в документации. Там сказано, что метод request объекта HTTPConnection имеет опциональные именованные параметры:
А как добавить остальные заголовки?
HTTPConnection.request(method, url, body=None, headers={})Как видим, HTTP-заголовки для отправки в запросе на сервер указываются в виде словаря. В документации также отдельно сказано насчет заголовка Content-Length:
If headers does not contain a Content-Length item, one is added automatically if possibleТо есть, если заголовок Content-Length не указан в параметре headers, то он будет добавлен автоматически, если это возможно.
Офлайн