Попытки использовать эту завиток команды, в Python:Преобразование завитка команды в Python pycurl или запрашивает
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)
но это не сработало. Не знаете, что мне не хватает, никаких предложений?
благодарит @Danny и @AyushShanker за ваши ответы! Я уже пробовал их раньше, и я продолжаю получать 'request.exceptions.SSLError: плохое рукопожатие: ошибка ([(« Подпрограммы SSL »,« SSL3_GET_SERVER_CERTIFICATE »,« проверка сертификата не удалась »)],)' любые идеи? – tkyass
хорошо, вы используете https, но в вашем запросе curl вы использовали параметр -k, который в соответствии с curl --help: '-k, --insecure Разрешить подключения к сайтам SSL без сертификатов (H)' поэтому в этом случае до 100 % имитировать ваш вызов, вы должны добавить 'verify = False' (например:' request.post ('https: // localhost: 8443', data = data, verify = False) '), чтобы пропустить проверку сертификата ssl и не получить эту ошибку ... но тогда использование https было бы бессмысленным .... innit? :) – Danny
Спасибо Дэнни, это сработало, я использовал 'data = {'action': 'login', 'username': 'user', 'password': 'pass'} request.post ('https: // localhost: 8443 ', data = data, verify = False) ' – tkyass