The problem if I don’t start python as an admin thet eikon redirects me to cfauth.com when authentif

When we don’t start python as an admin then eikon redirects me to cfauth.com when authentificating and not to localhost:9060

[2024-07-17 15:00:41,878;s] - [INFO] - [log] - Send GET request to http://127.0.0.1:9060/api/status to detect API Proxy...
[2024-07-17 15:00:41,879;s] - [DEBUG] - [log] - Request to http://127.0.0.1:9060/api/status
headers = {'x-tr-applicationid': 'xxxxxx'}
params = None
[2024-07-17 15:00:42,175;s] - [Level 1] - [log] - Send request with headers [(b'Host', b'www.cfauth.com'), (b'Accept-Encoding', b'gzip, deflate'), (b'Connection', b'keep-alive'), (b'User-Agent', b'python-httpx/0.24.1'), (b'Accept', b'application/json'), (b'x-tr-applicationid', xxxxxx')] and cookies None
[2024-07-17 15:00:42,177;s] - [Level 1] - [log] - HTTP request response 401: <!DOCTYPE html>

But can retrieve the token as a non-admin-user via requests (py pkg )

import requests
body = {

"AppKey": "xxxxxx",
"AppScope": "rapi",
"ApiVersion": "1",
"LibraryName": "Eikon Python Library",
"LibraryVersion": ek.__version__
}
r = requests.post(url="http://localhost:9060/api/handshake",
headers={"Content-Type": "application/json"},
json=body)
print("HANDSHAKE:\n", r.text)
>>>HANDSHAKE:
>>> {"access_token":"xxxxxxx","expires_in":1209600,"token_type":"bearer"}

Best Answer

  • Jirapongse
    Answer ✓

    @CarloJason.Arcega

    Thank you for reaching out to us.

    The log on my machine looks like this:

    2024-07-19 15:00:44,325 P[38848] [MainThread 38852] Send request with headers [(b'Host', b'127.0.0.1:9060'), (b'Accept-Encoding', b'gzip, deflate'), (b'Connection', b'keep-alive'), (b'User-Agent', b'python-httpx/0.22.0'), (b'Accept', b'application/json'), (b'x-tr-applicationid', b'0b9a72b739304225915c8ac81f2396509efa5bd0')] and cookies None
    2024-07-19 15:00:44,326 P[38848] [MainThread 38852] HTTP request response 200: {"statusCode":"ST_PROXY_READY","version":"3.9.2-eikon4"}

    I am not sure why it uses cfauth.com in the headers. I found that this URL is used by the Symantec software. It should not be used by Eikon or Workspace. Are you using any Symantec software on your machine?

    Please also share the full HTML shown in the log.

    [2024-07-17 15:00:42,177;s] - [Level 1] - [log] - HTTP request response 401: <!DOCTYPE html>

    You can try to run the following code before using Eikon Data API.

    import os
    os.environ['NO_PROXY'] = '127.0.0.1'

Answers

  • Jirapongse

    thanks so much, it works with

    import os
    os.environ['NO_PROXY'] = '127.0.0.1'

    You have made changes to my ID permission in the past, could you please do this for all company accounts ?

    Best,

    Georg

  • @Georg.Ebert

    I can't change the account's permission. Please contact the helpdesk via MyAccount to verify and change permission.