赞
踩
在 GitLab-Runner 对我的博客数据进行预处理时,requests 这个模块会首先尝试通过 IPv6 进行访问,由于一些未知的原因,会一直超时重试,而不会转到 IPv4 再次获取资源,所以导致 CI/CD 一直失败。
迫不得已只能让 requests 强制使用 IPv4 来获取资源。
- import socket
- import requests.packages.urllib3.util.connection as urllib3_cn
- def allowed_gai_family():
- """
- https://github.com/shazow/urllib3/blob/master/urllib3/util/connection.py
- """
- family = socket.AF_INET
- return family
- urllib3_cn.allowed_gai_family = allowed_gai_family
如果要强制使用 IPv6,那么就是
- def allowed_gai_family():
- family = socket.AF_INET
- if urllib3_cn.HAS_IPV6:
- family = socket.AF_INET6 # force ipv6 only if it is available
- return family
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。