首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PycURL的替代品?

PycURL的替代品?
EN

Stack Overflow用户
提问于 2009-11-06 03:52:57
回答 3查看 5.3K关注 0票数 3

这里有一些上传文件的代码:

代码语言:javascript
复制
  file_size = os.path.getsize('Tea.rdf')
  f = file('Tea.rdf')
  c = pycurl.Curl()
  c.setopt(pycurl.URL, 'http://localhost:8080/openrdf-sesame/repositories/rep/statements')
  c.setopt(pycurl.HTTPHEADER, ["Content-Type: application/rdf+xml;charset=UTF-8"])
  c.setopt(pycurl.PUT, 1)
  c.setopt(pycurl.INFILE, f)
  c.setopt(pycurl.INFILESIZE, file_size)
  c.perform()
  c.close()

现在,我一点也不喜欢这种PycURL体验。你能给我其他的建议吗?也许urllib2或httplib可以做同样的事情?你能写一些显示它的代码吗?

非常感谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-11-06 04:36:16

使用httplib2

代码语言:javascript
复制
import httplib2
http = httplib2.Http()

f = open('Tea.rdf')
body = f.read()
url = 'http://localhost:8080/openrdf-sesame/repositories/rep/statements'
headers = {'Content-type': 'application/rdf+xml;charset=utf-8'}
resp, content = http.request(url, 'PUT', body=body, headers=headers)
# resp will contain headers and status, content the response body
票数 1
EN

Stack Overflow用户

发布于 2011-09-08 16:27:21

是的,pycurl有一个糟糕的API设计,cURL是强大的。它有更多的未来,然后是urllib/urllib2。

也许你想尝试使用human_curl。这是python卷曲包装器。您可以从源代码https://github.com/lispython/human_curl或通过pip: pip install human_curl安装它。

示例:

代码语言:javascript
复制
>>> import human_curl as hurl
>>> r = hurl.put('http://localhost:8080/openrdf-sesame/repositories/rep/statements',
... headers = {'Content-Type', 'application/rdf+xml;charset=UTF-8'},
... files = (('my_file', open('Tea.rdf')),))
>>> r
    <Response: 201>

您还可以读取响应头、cookie等

票数 4
EN

Stack Overflow用户

发布于 2011-06-24 04:46:21

您的示例转换为httplib:

代码语言:javascript
复制
import httplib

host = 'localhost:8080'
path = '/openrdf-sesame/repositories/rep/statements'
path = '/index.html'
headers = {'Content-type': 'application/rdf+xml;charset=utf-8'}

f = open('Tea.rdf')
conn = httplib.HTTPConnection(host)
conn.request('PUT', path, f, headers)
res = conn.getresponse()
print res.status, res.reason
print res.read()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1683103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档