【发布时间】:2014-01-17 21:42:04
【问题描述】:
我想修改以下代码以运行使用“请求”模块。 我有以下代码在网站上运行:
def post(url, message, key, sign):
curl = pycurl.Curl()
curl.setopt(pycurl.URL, url)
curl.setopt(pycurl.SSL_VERIFYPEER, 0)
curl.setopt(pycurl.SSL_VERIFYHOST, 0)
buf = cStringIO.StringIO()
curl.setopt(pycurl.WRITEFUNCTION, buf.write)
curl.setopt(pycurl.POSTFIELDS, message)
curl.setopt(pycurl.HTTPHEADER, ['Key:' + key,
'Sign:' + (sign)])
curl.perform()
response = buf.getvalue()
buf.close()
return response
我尝试通过请求访问该网站,但使用以下代码因请求值无效而被拒绝:
def post(url, message, key, sign):
import requests
session = requests.session()
session.headers = {'Key': key, 'Sign': sign}
response = session.post(url, message)
return response
这些方法的行为不同,我做错了什么?
谢谢。
【问题讨论】:
-
你应该添加你的回溯。如果它与 ssl 证书有关,请尝试使用 session.post(url, message, verify=False)
-
我没有回溯,因为没有 python 失败。从网站返回错误...
标签: python python-requests pycurl