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

使用Python Requests调用瑞典交通局API遇Content-Type错误求解决

解决Trafikverket API的Content-Type无效问题

你遇到的错误核心原因是:requests.post在发送字符串数据时,默认会把Content-Type设为application/x-www-form-urlencoded,但Trafikverket的API需要接收XML格式请求,对应的正确Content-Type是text/xml或application/xml。

修改后的代码如下:

import requests

data = """
<REQUEST>
      <LOGIN authenticationkey="8c981e556c........." />
      <QUERY objecttype="WeatherStation" schemaversion="1">
            <FILTER>
                  <EQ name="Name" value="Högakustenbron Topp" />
            </FILTER>
            <INCLUDE>Measurement.Air.Temp</INCLUDE>
            <INCLUDE>Measurement.MeasureTime</INCLUDE>
      </QUERY>
</REQUEST>
"""

# 添加正确的Content-Type请求头
headers = {'Content-Type': 'text/xml'}
response = requests.post('https://api.trafikinfo.trafikverket.se/v2/data.json', data=data, headers=headers)
print(response.json())

补充说明:

  • 无需手动将数据编码为utf8,requests会自动处理编码,只要你的字符串本身是UTF-8格式即可。
  • 官方测试控制台会自动为XML请求设置正确的Content-Type,因此能正常返回结果,而你的代码之前缺少这个关键请求头。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 08:50:23