(Untitled)

Mar 21, 2013 12:42

import socket

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('172.16.1.1',80))
s.send('POST /proto/result.php HTTP/1.0\nHost: test\n\n')
s.close()

Leave a comment

Comments 17

display_none March 21 2013, 12:06:21 UTC
В чем WTF? В незнании httplib?
В том что в HTTP 1.0 не было заголовка Host?

Reply

dil March 21 2013, 12:23:55 UTC
А это не версия запроса. Это версия протокола, которую клиент полностью поддерживает и в которой хочет получить ответ.

Reply

display_none March 21 2013, 12:47:14 UTC
А вот RFC с Вами не согласен: (rfc2616, section-3.1)

The protocol versioning policy is intended to allow
the sender to indicate the format of a message and its capacity for
understanding further HTTP communication

Даже если некий сервер поймет Host несмотря на HTTP 1.0 (хотя может и не понять) то делать так все равно плохо: Сервер может и не поддерживать HTTP 1.1, и тогда вместо ошибки "unsupported protocol" (или bad request или что там должно быть?) просто выдаст контент с единственного сайта на этом IP.
И это будет грустно:)

Reply

dil March 21 2013, 13:10:53 UTC
RFC 2145, раздел 2:
The minor version sent in a message MUST NOT indicate the interpretation of other header fields. This reflects the principle that the minor version labels the capability of the sender, not the interpretation of the message.

Reply


sassa_nf March 21 2013, 12:06:36 UTC
тестируем на сюрпризы в логах сервера?

Reply


(The comment has been removed)

alexkuklin March 21 2013, 14:19:36 UTC
1. http://www.ietf.org/rfc/rfc1945.txt, в разделе Hypertext Transfer Protocol -- HTTP/1.0, 1.3 Overall Operation: In any case, the closing of the connection by either or both parties always terminates the current request, regardless of its status

2. вообще-то надо получить ответ и понять, 200 OK это, или что-то еще

3. 30X коды? не, не слышал.

Reply

(The comment has been removed)

alexkuklin March 21 2013, 14:25:55 UTC
> Скорее всего, приложение на нем также контролируется разработчиком и он уверен, что 30х там не будет.

нет. адрес был "забит" интранетовским из соображений NDA

Reply


ximaera March 21 2013, 15:28:10 UTC
"От меня пули улетели, проблема на вашей стороне!"

Reply


playpausenstop March 22 2013, 13:13:51 UTC
очень!

Reply


Leave a comment

Up