当前位置:   article > 正文

Python requests 强制使用 IPv4_python request ipv4

python request ipv4

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

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

  1. import socket
  2. import requests.packages.urllib3.util.connection as urllib3_cn
  3. def allowed_gai_family():
  4. """
  5. https://github.com/shazow/urllib3/blob/master/urllib3/util/connection.py
  6. """
  7. family = socket.AF_INET
  8. return family
  9. urllib3_cn.allowed_gai_family = allowed_gai_family

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

  1. def allowed_gai_family():
  2. family = socket.AF_INET
  3. if urllib3_cn.HAS_IPV6:
  4. family = socket.AF_INET6 # force ipv6 only if it is available
  5. return family

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号