Skip to content

Commit 91bada0

Browse files
authored
proxy format conflict
resolve conflict between proxy format: HTTPX and Requests
1 parent 6caabb2 commit 91bada0

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

scholarly/_proxy_generator.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,8 @@ def _check_proxy(self, proxies) -> bool:
136136
:rtype: {bool}
137137
"""
138138
with requests.Session() as session:
139-
session.proxies = proxies
139+
# Reformat proxy for requests. Requests and HTTPX use different proxy format.
140+
session.proxies = {'http':proxies['http://'], 'https':proxies['https://']}
140141
try:
141142
resp = session.get("http://httpbin.org/ip", timeout=self._TIMEOUT)
142143
if resp.status_code == 200:
@@ -189,6 +190,7 @@ def _use_proxy(self, http: str, https: str = None) -> bool:
189190
:returns: whether or not the proxy was set up successfully
190191
:rtype: {bool}
191192
"""
193+
# Reformat proxy for HTTPX
192194
if http[:4] not in ("http", "sock"):
193195
http = "http://" + http
194196
if https is None:
@@ -521,6 +523,7 @@ def _fp_coroutine(self, timeout=1, wait_time=120):
521523
proxies = {'http://': proxy, 'https://': proxy}
522524
proxy_works = self._check_proxy(proxies)
523525
if proxy_works:
526+
print(proxies)
524527
dirty_proxy = (yield proxy)
525528
t1 = time.time()
526529
else:

0 commit comments

Comments
 (0)