技术博客
今日油价:prov 参数填不填?查询油价(选填) vs 查询行情(必填) 的正确姿势

今日油价:prov 参数填不填?查询油价(选填) vs 查询行情(必填) 的正确姿势

作者: 万维易源
2026-08-27
今日油价prov参数必填避坑
# 今日油价:prov 参数填不填?查询油价(选填) vs 查询行情(必填) 的正确姿势 > 接口/接入点:今日油价 · 查询油价(138-46)/ 查询行情(138-49) · 免费 · 适用人群:已接入或准备接入的开发者 · 阅读时间:约 4 分钟 ## TL;DR - 两个接入点对 `prov` 的必填规则**不一样**:查询油价(138-46)`prov` **选填**,查询行情(138-49)`prov` **必填**。 - 调错接入点却不传 `prov`,查询行情会返回失败(ret_code 非 0)。 - 标准做法:查具体价格传省名到 138-46;查涨跌幅传省名到 138-49。 ## Why 这是今日油价最容易踩的坑:两兄弟接口,`prov` 一个可选一个必填。很多开发者照着一个接口的写法去调另一个,结果莫名失败。本文把差异钉死,省得你来回试。 ## What | 接入点 | 地址 | `prov` 必填性 | 用途 | |--------|------|---------------|------| | 查询油价(138-46) | `route.showapi.com/138-46` | **选填** | 查具体标号价格 | | 查询行情(138-49) | `route.showapi.com/138-49` | **必填** | 查涨跌幅与调价日 | > 差异来自官方文档原文:138-46 的 `prov` 标注「否(选填)」,138-49 的 `prov` 标注「是(必填)」。 ## How **场景 A:查北京 92 号价格(prov 选填,建议传)** ```python import requests r = requests.post("https://route.showapi.com/138-46", data={"appKey": "YOUR_APPKEY", "prov": "北京"}, timeout=10).json() print(r["showapi_res_body"]["list"][0]["p92"]) ``` **场景 B:查北京涨跌幅(prov 必填,不传会失败)** ```python import requests r = requests.post("https://route.showapi.com/138-49", data={"appKey": "YOUR_APPKEY", "prov": "北京"}, timeout=10).json() body = r["showapi_res_body"] if body.get("ret_code") != 0: print("失败:", body) # 多半是 prov 缺失或省名写法不对 else: print(body["p0"]["change_percent"]) ``` cURL 对照: ```bash # 查询油价(prov 选填) curl -X POST "https://route.showapi.com/138-46?appKey=YOUR_APPKEY" \ -H "content-type: application/x-www-form-urlencoded" -d "prov=%E5%8C%97%E4%BA%AC" # 查询行情(prov 必填) curl -X POST "https://route.showapi.com/138-49?appKey=YOUR_APPKEY" \ -H "content-type: application/x-www-form-urlencoded" -d "prov=%E5%8C%97%E4%BA%AC" ``` ## 返回示例与解析 查询行情若不传 `prov`(必填项缺失),`ret_code` 非 0,业务失败不计费;务必在调用前确认你用的是哪个接入点、是否传了省名。 ## 进阶/边界 - **省名写法**:用文档示例的「北京」「广西」这种标准省名;生僻写法可能匹配不到。 - **省略 prov 的行为**:查询油价标注选填,省略时是否返回全部 31 省以实际返回为准,标准用法仍建议传省名。 ## FAQ **Q:为什么我照着查询油价的代码调查询行情报错了?** A:两个接入点 `prov` 必填规则不同——查询行情(138-49)的 `prov` 是必填,不传会失败。 **Q:怎么判断该用哪个接入点?** A:要具体标号价格用 138-46(查询油价);要涨跌幅和调价日用 138-49(查询行情)。 **Q:省名写「北京市」还是「北京」?** A:以文档示例为准,用「北京」这类标准写法。 ## 相关能力 / 下一步阅读 - [今日油价:涨跌幅怎么查?「查询行情」接入点的调价日与涨跌率实战](https://www.showapi.com/guides/oilprice-trend-138) - [今日油价:全国 31 省油价怎么一次性拉全?省份枚举与批量设计](https://www.showapi.com/guides/oilprice-province-list-138) - **本系列共 13 篇**:查看[今日油价开发指南总目录](https://www.showapi.com/guides/oilprice-guides-138)