You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kubuntu 24.04下Python网络请求异常缓慢的解决求助

解决Kubuntu 24.04下Python网络请求缓慢问题

针对你遇到的Python网络请求极慢但其他网络应用正常的情况,可按以下步骤排查解决:

1. 排查DNS解析问题

Python的DNS解析逻辑可能与浏览器不同,先测试直接用IP访问:

import requests
requests.get("https://142.250.185.14")  # Google的IPv4地址

如果请求速度正常,说明是DNS解析延迟:

  • 切换系统DNS服务器为公共DNS(如8.8.8.8),修改/etc/resolv.conf或通过系统网络设置调整;
  • 安装dnspython库替代默认DNS解析,代码示例:
import dns.resolver
import requests

resolver = dns.resolver.Resolver()
resolver.nameservers = ['8.8.8.8']
answer = resolver.resolve('google.com', 'A')
ip = answer[0].address
requests.get(f"https://{ip}", headers={"Host": "google.com"})

2. 检查SSL/TLS握手异常

尝试强制使用TLS 1.3并更新系统证书:

  • 测试指定TLS版本的请求:
import requests
from requests.adapters import HTTPAdapter
from urllib3.poolmanager import PoolManager
import ssl

class TLS13Adapter(HTTPAdapter):
    def init_poolmanager(self, *args, **kwargs):
        ctx = ssl.create_default_context()
        ctx.set_alpn_protocols(['h2', 'http/1.1'])
        ctx.options |= ssl.OP_NO_TLSv1 | ssl.OP_NO_TLSv1_1 | ssl.OP_NO_TLSv1_2
        kwargs['ssl_context'] = ctx
        return super().init_poolmanager(*args, **kwargs)

session = requests.Session()
session.mount('https://', TLS13Adapter())
session.get("https://google.com")
  • 重新安装系统CA证书:
sudo apt update && sudo apt install --reinstall ca-certificates

3. 禁用错误代理设置

Python可能自动读取了无效的代理配置,测试禁用代理:

import requests
requests.get("https://google.com", proxies={"http": None, "https": None})

如果速度恢复,检查环境变量中的代理设置:

echo $http_proxy $https_proxy

若存在不需要的代理,执行unset http_proxy https_proxy临时取消,或删除~/.bashrc、/etc/profile中的代理配置行。

4. 强制使用IPv4避免解析延迟

部分网络环境下IPv6解析或连接缓慢,强制Python使用IPv4:

  • 代码中临时强制:
import socket
import requests

def force_ipv4():
    orig_getaddrinfo = socket.getaddrinfo
    def new_getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        return orig_getaddrinfo(host, port, socket.AF_INET, type, proto, flags)
    socket.getaddrinfo = new_getaddrinfo

force_ipv4()
requests.get("https://google.com")
  • 系统层面调整IPv4优先级:编辑/etc/gai.conf,取消注释以下行:
precedence ::ffff:0:0/96  100

5. 验证Python与系统库兼容性

使用系统包管理的Python及请求库替代pip安装版本,避免库兼容问题:

sudo apt install python3-requests python3-httpx

之后用系统Python运行测试代码,看是否恢复正常。

内容的提问来源于stack exchange,提问作者Seliverstov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 05:42:46