python 如何拆分http请求行?
python how to split http request line?
这是我的请求行示例:
GET https://example.com/hello?ageSelections=0&category=6000&productPeriodType=3&resourcePlace=resourcePlace AND 5089=5089-- PStU&twoCategory=6200 HTTP/1.1
我想拆分这个字符串并期待结果:
['GET', 'https://example.com/hello?ageSelections=0&category=6000&productPeriodType=3&resourcePlace=resourcePlace AND 5089=5089-- PStU&twoCategory=6200', 'HTTP/1.1']
谢谢:-)
您需要更精确地指定规范,例如它是否是字符串。但鉴于它是一个字符串,它应该看起来像:
string = GET https://example.com/hello?ageSelections=0&category=6000&productPeriodType=3&resourcePlace=resourcePlace AND 5089=5089-- PStU&twoCategory=6200 HTTP/1.1
data = string.split();
当然,如果它不是字符串,则不能这样做。
使用 str.partition
和 str.rpartition
的两步法(也可以通过 str.split
和 str.rsplit
每次使用 maxsplit=1
参数来完成):
line = 'GET https://example.com/hello?ageSelections=0&category=6000&productPeriodType=3&resourcePlace=resourcePlace AND 5089=5089-- PStU&twoCategory=6200 HTTP/1.1'
method, _, rest = line.partition(' ')
url, _, protocol = rest.rpartition(' ')
parsed_line = [method, url, protocol]
这是我的请求行示例:
GET https://example.com/hello?ageSelections=0&category=6000&productPeriodType=3&resourcePlace=resourcePlace AND 5089=5089-- PStU&twoCategory=6200 HTTP/1.1
我想拆分这个字符串并期待结果:
['GET', 'https://example.com/hello?ageSelections=0&category=6000&productPeriodType=3&resourcePlace=resourcePlace AND 5089=5089-- PStU&twoCategory=6200', 'HTTP/1.1']
谢谢:-)
您需要更精确地指定规范,例如它是否是字符串。但鉴于它是一个字符串,它应该看起来像:
string = GET https://example.com/hello?ageSelections=0&category=6000&productPeriodType=3&resourcePlace=resourcePlace AND 5089=5089-- PStU&twoCategory=6200 HTTP/1.1
data = string.split();
当然,如果它不是字符串,则不能这样做。
使用 str.partition
和 str.rpartition
的两步法(也可以通过 str.split
和 str.rsplit
每次使用 maxsplit=1
参数来完成):
line = 'GET https://example.com/hello?ageSelections=0&category=6000&productPeriodType=3&resourcePlace=resourcePlace AND 5089=5089-- PStU&twoCategory=6200 HTTP/1.1'
method, _, rest = line.partition(' ')
url, _, protocol = rest.rpartition(' ')
parsed_line = [method, url, protocol]