我想使用`pycurl'登录发送POST
请求的网站在HTTPS页面上。我做了以下事情:
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调用。虽然我能够执行登录发送' POST'请求在`POSTMAN'
中使用相同的参数所以似乎登录是正确的,但我在python中实现相同的错误。 Pl指南。
答案 0 :(得分:0)
根据pycURL文档,您的帖子数据需要是键值对和网址编码:
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)