Curl работает, но python urllib2 выдает 400 Bad Request - PullRequest
0 голосов
/ 22 ноября 2018

Команда curl работает из командной строки

curl -X POST https://sdk.mypoolin.com/merchants_upi/request_upi_single -d "beneficiary_virtual_address=88001@upi" -d “beneficiary_amount=1” -H "apikey:API_KEY"

Однако, когда я пытаюсь использовать python urllib2, выдается следующее сообщение об ошибке:

url='https://sdk.mypoolin.com/merchants_upi/request_upi_single'
parameters = urllib.urlencode({'beneficiary_virtual_address': '88001@upi','beneficiary_amount': '1'})
req = urllib2.Request(url)
req.add_header('apikey', API_KEY)
response_upi = urllib2.urlopen(req,parameters).read()

Traceback(последний вызов был последним): Файл "", строка 1, в файле "/home/hduser/.pyenv/versions/2.7.8/lib/python2.7/urllib2.py", строка 127, в urlopen возвращает _opener.открыть (url, data, timeout) файл "/home/hduser/.pyenv/versions/2.7.8/lib/python2.7/urllib2.py", строка 410, в файле open response = meth (req, response) "/home/hduser/.pyenv/versions/2.7.8/lib/python2.7/urllib2.py ", строка 523, в http_response 'http', запрос, ответ, код, msg, hdrs) Файл" / home / hduser/.pyenv/versions/2.7.8/lib/python2.7/urllib2.py ", строка 448, ошибка возврата. self._call_chain (* args) Файл" /home/hduser/.pyenv/versions/2.7.8/lib / python2.7 / urllib2.py ", строка 382, ​​в файле _call_chain result = func (* args) Файл" /home/hduser/.pyenv/versions/2.7.8/lib/python2.7/urllib2.py ",строка 531, в http_error_default поднять HTTPError (req.get_full_url (), код, msg, hdrs, fp) urllib2.HTTPError: Ошибка HTTP 400: BAD REQUEST

Я также пытался отправить данные в качестве параметров в запросе, но выдает ту же ошибку, что и выше:

request_url = "https://sdk.mypoolin.com/merchants_upi/request_upi_single"
values = {'beneficiary_virtual_address': '88001@upi','beneficiary_amount': '1'}
request_url = request_url + "?" + urllib.urlencode(values)
data = ""
req = urllib2.Request(request_url, data)
req.add_header('apikey', MKEYUPI)
response_upi = urllib2.urlopen(req).read()
...