使用httplib使用python上载文件

使用httplib使用python上载文件,python,httplib,Python,Httplib,上面是“www.encodable.com/uploaddemo/”网站,我想上传一张图片 我精通php,因此我无法理解这里的路径和标题的含义。在上面的代码中,chunk是由我的图像文件组成的对象。 下面的代码在我试图实现时产生了一个错误,而不知道头和路径 conn = httplib.HTTPConnection("www.encodable.com/uploaddemo/") conn.request("POST", path, chunk, headers) 目前,您没有使用前面在代码中

上面是“www.encodable.com/uploaddemo/”网站,我想上传一张图片

我精通
php
,因此我无法理解这里的路径和标题的含义。在上面的代码中,
chunk
是由我的图像文件组成的对象。 下面的代码在我试图实现时产生了一个错误,而不知道头和路径

conn = httplib.HTTPConnection("www.encodable.com/uploaddemo/")
conn.request("POST", path, chunk, headers)

目前,您没有使用前面在代码中声明的头。您应该将它们作为第四个参数提供给
conn.request

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()
另外,旁注:您可以将
open(“h1.jpg”,“rb”)
直接传递到
conn.request
中,而无需首先将其完全读取到
块中
conn.request
接受类似文件的对象,一次流一点文件会更有效:

conn.request("POST", "/uploaddemo/files/", chunk, headers)

目前,您没有使用前面在代码中声明的头。您应该将它们作为第四个参数提供给
conn.request

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()
另外,旁注:您可以将
open(“h1.jpg”,“rb”)
直接传递到
conn.request
中,而无需首先将其完全读取到
块中
conn.request
接受类似文件的对象,一次流一点文件会更有效:

conn.request("POST", "/uploaddemo/files/", chunk, headers)

这就是我想问的我不知道如何放置标题我告诉你你正确地制作了
标题
字典,但是你必须把它传递给你的
conn.request
函数才能让它做任何事情。这就是我想问的我不知道如何放置headers,我告诉你你正确地制作了
headers
字典,但是你必须把它传递给你的
conn.request
函数才能让它做任何事情。