conn = httplib.HTTPConnection("www.encodable.com/uploaddemo/")
conn.request("POST", path, chunk, headers)
Run Code Online (Sandbox Code Playgroud)
以上是我想要上传图片的网站"www.encodable.com/uploaddemo/".
我更精通,php所以我无法理解路径和标题的含义.在上面的代码中,chunk是一个由我的图像文件组成的对象.以下代码产生错误,因为我试图在不了解标头和路径的情况下实现.
import httplib
def upload_image_to_url():
filename = '//home//harshit//Desktop//h1.jpg'
f = open(filename, "rb")
chunk = f.read()
f.close()
headers = {
"Content?type": "application/octet?stream",
"Accept": "text/plain"
}
conn = httplib.HTTPConnection("www.encodable.com/uploaddemo/")
conn.request("POST", "/uploaddemo/files/", chunk)
response = conn.getresponse()
remote_file = response.read()
conn.close()
print remote_file
upload_image_to_url()
Run Code Online (Sandbox Code Playgroud)
目前,您没有使用先前在代码中声明的标头.您应该将它们作为第四个参数提供给conn.request:
conn.request("POST", "/uploaddemo/files/", chunk, headers)
Run Code Online (Sandbox Code Playgroud)
另外,请注意:您可以open("h1.jpg", "rb")直接进入,conn.request而无需chunk先将其完全读入. conn.request接受类似文件的对象,一次一点地传输文件会更有效:
conn.request("POST", "/uploaddemo/files/", open("h1.jpg", "rb"), headers)
Run Code Online (Sandbox Code Playgroud)