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
- 3 Polls
- 6 AHS
- 36 Alpha
- 166 App Studio
- 6 Block Chain
- 4 Bot Platform
- 18 Connected Risk APIs
- 47 Data Fusion
- 34 Data Model Discovery
- 685 Datastream
- 1.4K DSS
- 615 Eikon COM
- 5.2K Eikon Data APIs
- 10 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- 3 Trading API
- 2.9K Elektron
- 1.4K EMA
- 252 ETA
- 556 WebSocket API
- 38 FX Venues
- 14 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 23 Messenger Bot
- 3 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 60 Open Calais
- 275 Open PermID
- 44 Entity Search
- 2 Org ID
- 1 PAM
- PAM - Logging
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 22 RDMS
- 1.9K Refinitiv Data Platform
- 651 Refinitiv Data Platform Libraries
- 4 LSEG Due Diligence
- LSEG Due Diligence Portal API
- 4 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.2K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 12 World-Check Customer Risk Screener
- 1K World-Check One
- 46 World-Check One Zero Footprint
- 45 Side by Side Integration API
- 2 Test Space
- 3 Thomson One Smart
- 10 TR Knowledge Graph
- 151 Transactions
- 143 REDI API
- 1.8K TREP APIs
- 4 CAT
- 27 DACS Station
- 121 Open DACS
- 1.1K RFA
- 104 UPA
- 193 TREP Infrastructure
- 228 TRKD
- 917 TRTH
- 5 Velocity Analytics
- 9 Wealth Management Web Services
- 90 Workspace SDK
- 11 Element Framework
- 5 Grid
- 18 World-Check Data File
- 1 Yield Book Analytics
- 46 中文论坛