Отделение URL от http запроса - PullRequest
       2

Отделение URL от http запроса

0 голосов
/ 08 сентября 2010

Я изучаю язык Python.Я хочу знать о разделении HTTP-запроса

GET /en/html/dummy.php?name=MyName&married=not+single &male=yes HTTP/1.1

Host: www.explainth.at
User-Agent: Mozilla/5.0 (Windows;en-GB; rv:1.8.0.11) Gecko/20070312 Firefox/1.5.0.11
Accept: text/xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: en-gb,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://www.explainth.at/en/misc/httpreq.shtml

Я хочу объединить часть после GET и Host (жирным шрифтом) ..

GET / en / html / dummy.php? name = MyName & женат = не + холост и муж = да HTTP / 1.1

Хост: www.explainth.at

Как это сделать?

Ответы [ 2 ]

1 голос
/ 08 сентября 2010

Непонятно, почему вы хотите это сделать, каков контекст или цель, или как эти данные поступают в вашу программу. Тем не менее, Python поддерживает ряд полезных строковых операций над своим строковым типом. Так что если у вас есть строка, содержащая весь этот текст, то вам может пригодиться метод splitlines, а также некоторая нарезка списка:

s = "" "\ ... GET /en/html/dummy.php?name=MyName&married=not+single & male = yes HTTP / 1.1 ... Ведущий: www.explainth.at ... User-Agent: Mozilla / 5.0 (Windows; en-GB; rv: 1.8.0.11) Gecko / 20070312 Firefox / 1.5.0.11 ... Примите: text / xml, text / html; q = 0,9, text / plain; q = 0,8, image / png, / ; q = 0,5 ... "" " s.splitlines () [: 2] ['GET /en/html/dummy.php?name=MyName&married=not+single & male = yes HTTP / 1.1', 'Host: www.explainth.at']

Конечно, если вы пишете какое-либо реальное программное обеспечение сервера HTTP, это вряд ли будет правильным подходом (практически нет причин работать на таком низком уровне, и если вам это нужно почти наверняка) вместо этого я хочу написать или использовать реальный парсер HTTP). Так что вы можете задать более точный вопрос.

0 голосов
/ 08 сентября 2010

Вы должны разделить HTTP-запрос на \r\n байт.(маркер новой строки на окнах)

...