前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python requests 强制使用 IPv4

Python requests 强制使用 IPv4

原创
作者头像
凝神长老
修改2022-03-16 03:37:20
1.1K0
修改2022-03-16 03:37:20
举报

在 GitLab-Runner 对我的博客数据进行预处理时,requests 这个模块会首先尝试通过 IPv6 进行访问,由于一些未知的原因,会一直超时重试,而不会转到 IPv4 再次获取资源,所以导致 CI/CD 一直失败。

迫不得已只能让 requests 强制使用 IPv4 来获取资源。

代码语言:javascript
复制
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,那么就是

代码语言:javascript
复制
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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档