家伙!我目前正在使用使用以下cURL行的API:
curl -vF "files[]=@file.zip" "http://s5.example.com/123"
我对使用其他库如pycurl不感兴趣,因为我真的只需要转换一行或两行。我真的很感谢你的帮助!
答案 0 :(得分:2)
此请求在文件上载字段中发布文件内容。 上传文件的POST请求的http主体很难组装 - 对于普通文本字段,可以将“data =”参数中的字典发送到urllib2.urlopen调用,并且字段将被发布。
但是,文件上传需要使用自定义标头发送复杂的http主体。 我不知道urllib2是否可以做到这一点 - 但是我找到了一个如何使用httplib和mimetypes(这两者都是Python的stdlib)的例子 - 所以你可以选择示例代码并在你的项目中重用它:
http://code.activestate.com/recipes/146306-http-client-to-post-using-multipartform-data/
答案 1 :(得分:2)
urllib模块的 urlopen 方法 ..
语法: urllib2.urlopen(url [,data] [,timeout])
data是指定要发送到服务器的其他内容的字符串
示例:
import urllib
tlds = urllib.urlopen("http://data.iana.org/TLD/tlds-alpha-by-domain.txt").readlines()
此示例显示了一个单行代码,可以通过从iana.org抓取来将所有tld提取到名为tlds的列表中
对于urlopen方法的复杂操作/选项/参数,您可以查看官方文档:http://docs.python.org/library/urllib2.html