文章目录

现象

这部分内容很久之前就要写了,结果忘了,现在补上。
前一阵准备买挨炮13系列,在gh找了大牛写的库存监控脚本,但是使用过程发现一个问题,如果开了系统*代*理*,python requests模块就无法正常访问https的URL了,报错如下:

Traceback (most recent call last):
  File "C:\Users\sqs\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connectionpool.py", line 696, in urlopen
    self._prepare_proxy(conn)
  File "C:\Users\sqs\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connectionpool.py", line 964, in _prepare_proxy
    conn.connect()
  File "C:\Users\sqs\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connection.py", line 364, in connect
    conn = self._connect_tls_proxy(hostname, conn)
  File "C:\Users\sqs\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connection.py", line 501, in _connect_tls_proxy
    socket = ssl_wrap_socket(
  File "C:\Users\sqs\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\util\ssl_.py", line 453, in ssl_wrap_socket
    ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls)
  File "C:\Users\sqs\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\util\ssl_.py", line 495, in _ssl_wrap_socket_impl
    return ssl_context.wrap_socket(sock)
  File "C:\Users\sqs\AppData\Local\Programs\Python\Python39\lib\ssl.py", line 500, in wrap_socket
    return self.sslsocket_class._create(
  File "C:\Users\sqs\AppData\Local\Programs\Python\Python39\lib\ssl.py", line 1040, in _create
    self.do_handshake()
  File "C:\Users\sqs\AppData\Local\Programs\Python\Python39\lib\ssl.py", line 1309, in do_handshake
    self._sslobj.do_handshake()
FileNotFoundError: [Errno 2] No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\sqs\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\adapters.py", line 439, in send
    resp = conn.urlopen(
  File "C:\Users\sqs\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connectionpool.py", line 755, in urlopen
    retries = retries.increment(
  File "C:\Users\sqs\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\util\retry.py", line 574, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='www.apple.com.cn', port=443): Max retries exceeded with url: /shop/address-lookup (Caused by ProxyError('Cannot connect to proxy.', FileNotFoundError(2, 'No such file or directory')))

DL客户端日志出现如下内容
在这里插入图片描述
要开监控就不能用DL,要用DL就不能监控,真的很麻烦。
 

原因

个人感觉原因是使用的*代*理*客户端不支持不支持python requests。
 

解决办法

粗暴,直接,那就让requests不走系统代理即可。
在py脚本中添加如下内容:

proxies_global = {
    "http":"",
    "https":""
}

同时requests请求添加参数proxies=proxies_global

response = requests.get("https://www.apple.com.cn/shop/address-lookup", headers=AppleStoreMonitor.headers, params=choice_params, proxies=proxies_global)

请求正常!

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐