Сеть моей компании находится за прокси-сервером и предоставляется в виде файла .pac.У меня есть настройки прокси в терминале и в настройках Wi-Fi (например, если я делаю scutils --proxy
, я получаю ProxyAutoConfigEnable : 1 ProxyAutoConfigURLString : http://corp_url/pac.pac
).
Этих настроек, однако, недостаточно для Jupyter - когда я пытаюсь сделать вызовы APi через публичный API в Интернете, я получаю Failed to send request: HTTPSConnectionPool(host='api.twitter.com', port=443): Max retries exceeded with url: /1.1/search/tweets.json?...etc... (Caused by ProxyError('Cannot connect to proxy.', RemoteDisconnected('Remote end closed connection without response',)))
Я искалрешение на Google и SO, и нашел, что я должен сделать
import sys,os,os.path
os.environ['http_proxy']="http://corp_url/pac.pac"
os.environ['https_proxy']="http://corp_url/pac.pac"
Это, однако, не помогает.Что мне нужно сделать, чтобы иметь возможность вызывать этот API из ноутбука Jupyter за корпоративным прокси-сервером?
ОБНОВЛЕНИЕ
Я также пытался использовать PyPac сейчас,но без изменений:
from pypac import PACSession, get_pac
pac = get_pac(url='http://corp_url/pac.pac')
session = PACSession(pac)
Я получаю другую ошибку, но:
Failed to send request: HTTPSConnectionPool(host='api.twitter.com', port=443): Max retries exceeded with url: /1.1/search/tweets.json?...etc... (Caused by ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 501 Method Not Implemented',)))