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

使用Python requests.get无法下载XML文件,请求排查解决方法

解决requests.get卡住无法获取XML文件的问题

你的脚本一直无输出且处于运行状态,大概率是网站反爬机制拦截了非浏览器请求,或是未设置超时导致无限等待。以下是可行的解决方案:

修改后的代码(核心修复)

import requests

def download_xml_file(url, save_path):
    # 模拟Chrome浏览器的请求头,绕过基础反爬拦截
    headers = {
        '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'
    }
    try:
        # 设置30秒超时,避免服务器无响应时脚本无限挂起
        response = requests.get(url, headers=headers, timeout=30)
        # 主动触发HTTP错误(如403、500等),便于排查问题
        response.raise_for_status()
        
        with open(save_path, 'wb') as file:
            file.write(response.content)
        print(f"XML文件已成功下载并保存至: {save_path}")
    except requests.exceptions.RequestException as e:
        print(f"下载出错: {e}")

url = 'https://apps.fcc.gov/eas/GetEntityDownload.xml?type=G'
save_path = 'file.xml'  # 替换为你的实际保存路径

download_xml_file(url, save_path)

额外排查步骤

  • 如果仍报403 Forbidden,可以复制浏览器请求的完整头信息(包括Accept、Referer等)添加到headers中,完全模拟浏览器请求
  • 检查网络环境:确认IP未被网站封禁,或切换网络(如手机热点)测试
  • 打印响应细节定位问题:在response.raise_for_status()后添加以下代码,查看网站返回内容:
print("状态码:", response.status_code)
print("响应内容预览:", response.text[:500])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 09:27:24