conn = httplib.HTTPConnection("www.encodable.com/uploaddemo/")
conn.request("POST", path, chunk, headers)
以上是我想要上传图片的网站“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()
答案 0 :(得分:5)
目前,您没有使用先前在代码中声明的标头。您应该将它们作为conn.request
的第四个参数提供:
conn.request("POST", "/uploaddemo/files/", chunk, headers)
另外,旁注:您可以将open("h1.jpg", "rb")
直接传递到conn.request
,而无需先将chunk
完全读入conn.request
。 conn.request("POST", "/uploaddemo/files/", open("h1.jpg", "rb"), headers)
接受类似文件的对象,一次一点地传输文件会更有效:
{{1}}