将curl命令转换为Python pycurl或请求

将curl命令转换为Python pycurl或请求,python,curl,python-requests,pycurl,Python,Curl,Python Requests,Pycurl,在Python中,尝试使用此curl命令: curl -k -X POST --data "action=login&username=user&password=pass" https://localhost:8443 我已经尝试使用pycurl,如下所示: import pycurl c = pycurl.Curl() c.setopt(pycurl.URL, "https://localhost:8443") c.setopt(pycurl.POST, 1) #tried

在Python中,尝试使用此curl命令:

curl -k -X POST --data "action=login&username=user&password=pass" https://localhost:8443
我已经尝试使用pycurl,如下所示:

import pycurl
c = pycurl.Curl()
c.setopt(pycurl.URL, "https://localhost:8443")
c.setopt(pycurl.POST, 1)
#tried this too
#c.setopt(pycurl.USERPWD, 'user:pass')
c.setopt(c.HTTPHEADER,"action=login&username=user&password=pass" )
c.setopt(c.VERBOSE, True)
c.perform()
我也在请求中尝试过:

import requests


data = 'action=login&username=user&password=pass'

requests.post('https://localhost:8443', data=data)

但它不起作用。不知道我遗漏了什么,有什么建议吗?

这是翻译请求

>>> data = 'action=login&username=user&password=pass'
>>> requests.post('https://localhost:8443', data=data)

谢谢@Danny和@Ayushhanker的回答!我以前已经试过了,我一直收到
请求。异常。SSLError:握手不好:错误([('SSL例程','SSL3\u获取服务器证书','CERTIFICATE verify failed'),)
有什么想法吗?您正在使用https,但在curl请求中使用了-k选项,根据curl--help:
-k,--不安全允许在没有证书的情况下连接到SSL站点(H)
,因此在这种情况下,要100%模拟您的呼叫,您必须添加
verify=False
(例如:
请求。post()https://localhost:8443“,data=data,verify=False)
)跳过ssl证书的验证而不获取该错误。。。但是https的使用是毫无意义的。。。。是吗?:)感谢Danny,我使用了
data={'action':'login','username':'user','password':'pass'}请求https://localhost:8443,data=data,verify=False)
import requests


data = {'action': 'login', 'username': 'user', 'password': 'pass'}

requests.post('https://localhost:8443', data=data)