4

I'm trying to consume the Informatica Cloud REST API using Python (3.51) Requests (requests package version is 2.10.0):

import requests

username='myuser'
password='mypassword'

genheaders = {
    'Content-Type': 'application/json',
}

data = '{"@type":"login","username":"' + username + '","password":"' + password +'"}'
response = requests.post('https://app.informaticaondemand.com/ma/api/v2/user/login', headers=genheaders, data=data)

On my local machine, all works splendidly. However, on my TEST server, I get the following error:

HTTPSConnectionPool(host='app.informaticaondemand.com', port=443): Max retries exceeded with url: /ma/api/v2/user/login (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError(': Failed to establish a new connection: [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond',)))

Annoyingly, curl works fine on the server machine:

curl -H "Content -Type: application/json" -X POST --data @Login.txt   https://app.informaticaondemand.com/ma/api/v2/user/login -k

Where login.txt has:

{ "@type": "login","username":"myuser", "password":"mypassword"}

If I don't use the -k switch, I get:

curl: (60) SSL certificate problem, verify that the CA cert is OK. Details: Error:14090086:SSLroutines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed More details here: http://curl.haxx.se/docs/sslcerts.html

All is fine with the -k switch.

I've tried setting the proxy via environment variables, prior to executing Python.exe:

set HTTP_PROXY=10.123.123.10:8080
set HTTPS_PROXY=10.123.123.10:8080

But the results are the same.

Any ideas on what to try next?

mroshaw
  • 337
  • 1
  • 4
  • 12

1 Answers1

3

Maybe try the following:

import requests

proxies = {
  'http': 'http://10.123.123.10:8080',
  'https': '10.123.123.10:8080',
}

response = requests.post('https://app.informaticaondemand.com/ma/api/v2/user/login', headers=genheaders, data=data, proxies=proxies)

Link to requests proxy documentation: http://docs.python-requests.org/en/master/user/advanced/#proxies

Vinay Gode
  • 111
  • 4