使用Python requests模块遇连接错误,请求排查指导
问题排查步骤
首先你代码里有个明显拼写错误:
import request # 此处少了后缀s,正确写法是 import requests
修正代码后如果仍报错,按以下步骤逐步排查:
检查域名解析是否正常
打开命令提示符(Windows)或终端(Mac/Linux),执行命令:nslookup w3schools.com如果返回“无法找到该域名”类结果,说明DNS配置异常,可尝试切换公共DNS,比如国内的
114.114.114.114或国外的8.8.8.8。测试网络连通性
在命令行执行:ping w3schools.com若ping不通,大概率是本地网络(公司/学校防火墙、运营商限制)拦截了该域名访问,可切换手机热点重新测试,验证是否为网络环境问题。
检查代理设置
如果你的网络需要代理才能访问外部站点,需给requests配置正确代理:import requests proxies = { 'http': 'http://你的代理地址:端口', 'https': 'https://你的代理地址:端口', } x = requests.get('https://w3schools.com', proxies=proxies) print(x.status_code)不确定代理状态时,可查看系统代理设置:Windows在「设置-网络和Internet-代理」,Mac在「系统设置-网络-高级-代理」。
验证基础网络请求功能
把请求目标换成其他常用HTTPS站点测试:import requests x = requests.get('https://www.baidu.com') print(x.status_code)若能正常返回200,说明是
w3schools.com域名被限制;若仍报错,则是本地网络基础配置有问题,需检查网卡设置、防火墙规则。
内容的提问来源于stack exchange,提问作者GCGM
相关产品推荐
相关产品推荐

