调用自定义api Python时出现thows错误httplib.CannotSendHeader异常

调用自定义api Python时出现thows错误httplib.CannotSendHeader异常,python,httplib,Python,Httplib,我制作了一个简单的脚本,通过将api编码为Json来执行POST http调用: #!/usr/bin/python # coding: utf-8 import sys import httplib from base64 import b64encode from json import dumps filename = sys.argv[1] outfile = filename + ".txt" with open(filename, 'rb') as f: content

我制作了一个简单的脚本,通过将api编码为Json来执行POST http调用:

#!/usr/bin/python
# coding: utf-8

import sys
import httplib
from base64 import b64encode
from json import dumps

filename = sys.argv[1]
outfile = filename + ".txt"
with open(filename, 'rb') as f:
    content = f.read()

data = b64encode(content)

jsonData = {
    'param_1': 12,
    'param_2': 12,
    'filename': "45.jpg",
    'file_data': data
}

jsonData = dumps(jsonData)

headers = {
    "Content-Type": 'application/json',
    "Accept": '*/*'
}

conn = httplib.HTTPConnection('localhost',8016)
conn.putheader("Content-Type",'application/json')
conn.sendheaders()

conn.request('POST', '/files', jsonData, headers)

response = conn.getresponse()
print response
但我得到了以下错误:

Traceback (most recent call last):
  File "./add_file.py", line 31, in <module>
    conn.putheader("Content-Type",'application/json')
  File "/usr/lib/python2.7/httplib.py", line 1026, in putheader
    raise CannotSendHeader()
httplib.CannotSendHeader
回溯(最近一次呼叫最后一次):
文件“/add_File.py”,第31行,在
conn.putheader(“内容类型”,“应用程序/json”)
putheader中的文件“/usr/lib/python2.7/httplib.py”,第1026行
升起CannotSendHeader()
httplib.CannotSendHeader
我不知道为什么。我试着做我能想到的任何事情,但我失败了。

只需删除:

conn.putheader("Content-Type",'application/json')
代码中的行。通过将headers对象传递给
httplib.request
方法就足够了