【问题标题】:curl example to pycurlpycurl 的 curl 示例
【发布时间】:2016-01-08 05:51:44
【问题描述】:

这是我的命令

curl -i -H 'X-Storage-User:12345:12345' -H 'X-Storage-Pass:new1234' https://ssproxy.ucloudbiz.olleh.com/auth/v1.0

结果

HTTP/1.1 200 OK
Date: Fri, 08 Jan 2016 05:49:06 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 126
Connection: close
X-Auth-Token-Expires: 51114
X-Auth-Token: AUTH_tkdfefef8dfsfsefsf
X-Storage-Token: AUTH_tkdfefef8dfsfsefsf
X-Storage-Url: https://ssproxy.ucloudbiz.olleh.com/v1/AUTH_3xxsdff_sdfwef_sdfwf
X-Trans-Id: tx76sdsefwfwwt

如何将其转换为 pycurl?

提前谢谢你。

【问题讨论】:

  • 通常,curl 的--libcurl 选项是解决此类问题的第一步,因为它显示了使用的底层 libcurl 选项。
  • @DanielStenberg 嗯....我可以使用请求模块吗? docs.python-requests.org/en/latest/user/quickstart/…
  • 当然可以,这是一种更“pythonish”的方法——虽然这并不是这个问题的真正答案,但不是 pycurl 的替代方案。

标签: python curl pycurl


【解决方案1】:

以下是用 Python 3 编写的 pycurl 中对应的命令:

import pycurl
import sys

def bodycb(buf):
    import sys
    sys.stdout.buffer.write(buf)

def headercb(buf):
    import sys
    sys.stdout.buffer.write(buf)

headers = ['X-Storage-User:12345:12345', 'X-Storage-Pass:new1234']

pycurl_connect = pycurl.Curl()
pycurl_connect.setopt(pycurl.URL, 'https://ssproxy.ucloudbiz.olleh.com/auth/v1.0')
pycurl_connect.setopt(pycurl.HTTPHEADER, headers)
pycurl_connect.setopt(pycurl.WRITEFUNCTION, bodycb)
pycurl_connect.setopt(pycurl.HEADERFUNCTION, headercb)
pycurl_connect.perform() 

您需要使用 pycurl.HTTPHEADER 在列表中传递您的标头。 headercb 和 bodycb 函数只是将响应头和正文打印到控制台的回调。

【讨论】:

  • 感谢您的指导 :)
猜你喜欢
  • 2014-05-13
  • 2020-02-13
  • 1970-01-01
  • 2020-07-29
  • 2012-02-28
  • 1970-01-01
  • 2011-05-31
  • 2011-06-01
  • 1970-01-01
相关资源
最近更新 更多