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

如何使用Python连接azurewebsites.net站点API自动下载JSON文件

Python连接Azure Websites下载JSON文件解决方案

原有代码问题说明

  • 用了错误的请求地址:你当前填的是Swagger UI的文档网页地址,返回的是HTML内容,自然无法解析为JSON。你需要先在Swagger页面中找到实际返回数据的API接口路径,通常是/api/xxx类格式,拼接到站点域名后作为真实请求地址。
  • 请求头配置错误:你把内容类型标识填到了Authentication认证头中,application/json属于内容类型参数,应该放在Accept头中,表示你期望接收JSON格式的返回数据。使用requests的auth参数时会自动生成对应Basic认证的Authentication头,无需手动配置。
  • 空Cookies配置:如果站点需要登录后才能访问接口,空Cookies会导致身份校验失败,如需携带登录态可以先请求登录接口获取有效Cookies后再调用数据接口。

可运行参考代码

import requests
import json

# 替换为你从Swagger页面找到的实际API接口地址
API_URL = "https://myplatformconnectiot.azurewebsites.net/api/替换为你的实际接口路径"
# 替换为你的站点登录账号密码
USERNAME = "user@example.com"
PASSWORD = "你的登录密码"

# 配置请求头
headers = {
    "Accept": "application/json"
}

try:
    response = requests.get(
        url=API_URL,
        headers=headers,
        auth=(USERNAME, PASSWORD),
        timeout=30
    )
    # 校验请求是否成功,状态码非2xx会直接抛出异常
    response.raise_for_status()

    # 解析为Python字典使用
    json_result = response.json()
    print("JSON数据获取成功")

    # 保存到本地JSON文件
    with open("download_data.json", "w", encoding="utf-8") as f:
        json.dump(json_result, f, ensure_ascii=False, indent=4)
    print("JSON文件已保存到当前运行目录")

except requests.exceptions.RequestException as e:
    print(f"请求出错:{e}")
    # 打印返回内容排查问题
    if 'response' in locals():
        print(f"服务端返回片段:{response.text[:300]}")

补充注意事项

  • 如果你的Azure Web App开启的是Azure AD/OAuth2认证而非Basic Auth,需要先调用Azure认证接口获取Access Token,再在请求头中添加"Authorization": f"Bearer {你的Access Token}"参数即可。
  • 不确定请求参数时可以手动在浏览器触发JSON下载,打开F12网络面板查看真实请求的地址、头、认证方式,1:1复刻参数到Python代码中即可正常请求。
  • 如果站点要求携带CSRF Token,需要先请求一次站点页面,从返回的HTML内容或者Cookies中提取CSRF Token,放到请求头后再调用数据接口。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 21:39:00