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

使用Python Requests登录网站爬取时遇Errno 10060连接失败求助

解决Python Requests爬取网站时的Errno 10060连接失败问题

Errno 10060 通常意味着你的请求无法在规定时间内到达目标服务器,或者被网络/服务器层面拦截了。结合你的代码,我整理了几个优先级从高到低的排查和解决步骤:

1. 先确认目标网站的可达性与登录接口正确性

  • 首先用浏览器手动访问 https://nextelloc.nextelinternational.com 和 https://nextelloc.nextelinternational.com/default.asp?sec=vehiculos_listado,看看能不能正常打开、完成登录。如果浏览器也无法访问,那大概率是你的网络环境(比如公司防火墙、地区限制)或者目标服务器本身的问题,需要先解决网络连通性。
  • 重点检查登录接口URL:你的代码直接POST到根域名,但很多网站的登录请求是提交到具体的接口(比如 /login.asp 或者 /api/login)。打开浏览器的开发者工具(F12),切换到「网络」标签,手动完成登录操作,找到登录时发送的POST请求的URL,替换掉代码中的 login_url——这很可能是问题所在。

2. 给请求添加超时参数

Requests默认没有设置超时,会无限等待,最终触发系统层面的10060错误。给POST请求加上超时限制,既能快速定位问题,也避免程序挂起:

result = session.post(login_url, data=datos, timeout=10)  # 10秒超时

3. 模拟浏览器请求头

很多网站会通过检查User-Agent来拦截非浏览器的请求。给你的session添加浏览器风格的请求头:

session.headers.update({
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36',
    'Accept-Language': 'en-US,en;q=0.9',
    'Referer': 'https://nextelloc.nextelinternational.com'  # 模拟从首页跳转登录
})

4. 处理代理(如果需要)

如果你是在公司网络或者需要代理才能访问外部网站,必须在代码中配置代理:

proxies = {
    'http': 'http://your-proxy-address:port',
    'https': 'https://your-proxy-address:port',
}
result = session.post(login_url, data=datos, proxies=proxies, timeout=10)

替换成你实际使用的代理地址和端口即可。

5. 临时跳过SSL验证(谨慎使用)

如果目标网站的SSL证书存在问题(比如自签名证书),也可能导致连接失败。可以临时关闭SSL验证排查,但这会降低安全性,仅用于测试:

import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)  # 禁用证书警告

result = session.post(login_url, data=datos, verify=False, timeout=10)

最后提醒:爬取目标网站前,请务必遵守网站的robots.txt规则和使用条款,避免违规爬取行为。

内容的提问来源于stack exchange,提问作者Nicolás Salvatore

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:30:09