Python requests 强制使用 IPv4

在 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_INETreturn family
urllib3_cn.allowed_gai_family = allowed_gai_family

如果要强制使用 IPv6,那么就是

def allowed_gai_family():family = socket.AF_INETif urllib3_cn.HAS_IPV6:family = socket.AF_INET6 # force ipv6 only if it is availablereturn family


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部