Python RDP API does not use proxy server when connecting
(Repeating this as a new question, after posting it as a continuation of a previous thread and seeing no responses. Maybe with a more accurate title...)
I have developed a working script using the Python RDP API. It fails to work in an environment that requires the use of a proxy server to access the Internet. The script is unable to reach the external (AWS) RDP server.
The issue is not in Python. In trying to reach a random external URL from within Python (e.g., https://www.google.com/), I'm successful with the environment HTTP_PROXY and HTTPS_PROXY variables set. If I explicitly unset them in the Python session, I get a failed connection, as I would expect. If I explicitly set them in the Python session, I can successfully reach the URL.
import osos.environ["HTTP_PROXY"] = "webproxy.pln.corp.services:80"os.environ["HTTPS_PROXY"] = "webproxy.pln.corp.services:80"
Regardless of whether the proxy is set, in the environment and/or in Python, the RDP API cannot connect. This seems (to me) to indicate that the issue is that RDP is ignoring the proxy server variable setting: RDP's open_platform_session tries the connection without the proxy, and fails.
Is there some RDP system setting or configuration that would force the connection through the proxy server? RDP is clearly not taking the environment setting into account.
Best Answer
-
There is no uniform mechanism for specifying the proxy configuration in Python. It is up to each module, if it wants to support proxy and how that configuration may be passed. Most common one's like requests support this in the API call, and also read it from system environment variables like HTTP_PROXY, HTTPS_PROXY.
The RDP library is using requests_async for all its I/O work. From what I can see from this issue, this module does not support proxy settings at all.
Either way, this is a feature that client's would request from the library.
@Olivier DAVANT, @pierre.faurel, Can you please add support for proxy configuration in future releases.
0
Categories
- All Categories
- 6 AHS
- 37 Alpha
- 161 App Studio
- 4 Block Chain
- 4 Bot Platform
- 16 Connected Risk APIs
- 47 Data Fusion
- 30 Data Model Discovery
- 608 Datastream
- 1.3K DSS
- 577 Eikon COM
- 4.9K Eikon Data APIs
- 7 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- Trading API
- 2.7K Elektron
- 1.3K EMA
- 236 ETA
- 519 WebSocket API
- 33 FX Venues
- 10 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 20 Messenger Bot
- 2 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 59 Open Calais
- 264 Open PermID
- 39 Entity Search
- 2 Org ID
- PAM
- PAM - Logging
- 8.4K Private Comments
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 20 RDMS
- 1.4K Refinitiv Data Platform
- 367 Refinitiv Data Platform Libraries
- 3 Refinitiv Due Diligence
- LSEG Due Diligence Portal API
- 3 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.1K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 10 World-Check Customer Risk Screener
- 990 World-Check One
- 44 World-Check One Zero Footprint
- 45 Side by Side Integration API
- Test Space
- 3 Thomson One Smart
- 1.2K TR Internal
- Global Hackathon 2015
- 2 Specialists Who Code
- 10 TR Knowledge Graph
- 150 Transactions
- 142 REDI API
- 1.7K TREP APIs
- 4 CAT
- 21 DACS Station
- 117 Open DACS
- 1.1K RFA
- 103 UPA
- 172 TREP Infrastructure
- 224 TRKD
- 886 TRTH
- 5 Velocity Analytics
- 5 Wealth Management Web Services
- 59 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛