Python 如何在Pycurl中执行HTTPS调用?

Python 如何在Pycurl中执行HTTPS调用?,python,login,https,pycurl,Python,Login,Https,Pycurl,我想在HTTPS页面上使用“pycurl”登录发送POST请求的网站。我做了以下工作: import pycurl, urllib curl = pycurl.Curl() curl.setopt(pycurl.COOKIEFILE, "") post = "_username=something&_password=somethingelse&_submit=Login" curl.setopt(pycurl.URL, "https://www.example.com/logi

我想在HTTPS页面上使用“pycurl”登录发送POST请求的网站。我做了以下工作:

import pycurl, urllib
curl = pycurl.Curl()
curl.setopt(pycurl.COOKIEFILE, "")
post = "_username=something&_password=somethingelse&_submit=Login"
curl.setopt(pycurl.URL, "https://www.example.com/login_check")
curl.setopt(pycurl.POST, 1)
curl.setopt(pycurl.POSTFIELDS, post)
curl.perform()
但我无法登录。这可能是因为我的代码使http调用更简单。虽然我能够使用“POSTMAN”中的相同参数执行登录发送“POST”请求


看来登录是对的,但我在python中实现同样的功能时出错了。Pl指南。

根据pycURL文档,您的帖子数据需要是键值对和url编码:

post_data = {'field': 'value'}
# Form data must be provided already urlencoded.
postfields = urlencode(post_data)
# Sets request method to POST,
# Content-Type header to application/x-www-form-urlencoded
# and data to send in request body.
c.setopt(c.POSTFIELDS, postfields)

当你说它不起作用时,你能给我们提供一条错误信息和/或你期望发生的事情和正在发生的事情的描述吗?更新了问题。我传递的内容已经编码;就像在您的例子中,如果post_data={'field1':'value1','field2':'value2'},那么postfields将是field2=value2&field1=value1,所以我认为这不是问题。您可以发布服务器响应吗?