0

我有以下代码,但 httplib 仍将标头“emptyheader”视为键:值对。

h = httplib.HTTPConnection("somewhere:5000")
headers = {}
headers['emptyheader'] = None
h.request('POST', '/somewhere', '', headers)

如何发送理智的请求但带有无价值的标头“emptyheader”?

4

2 回答 2

1

将标头值设置为''

headers['emptyheader'] = ''

会输出:

emptyheader: \r\n

这符合消息头的 HTTP 规范

于 2013-03-01T19:52:32.467 回答
0

没有办法使用httplib来做到这一点。'headers' 参数必须是字典。然后 httplib 将标头构造为以冒号分隔的名称-值对。

我认为 requests 模块做同样的事情。

因此,作为一个选项,尝试 curl:

subprocess.call(['curl', '-i', '-H', '"emptyheader"', '"http://somewhere:5000/somewhere"'])

但是,我不确定您为什么需要它:http 标头是设计的键:值对。

于 2013-03-01T21:12:53.080 回答