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

如何将带-g参数的Curl请求转换为Python Requests?

解决Python Requests模拟带-g/-k参数的Curl请求问题

你的代码和Curl请求存在几个关键偏差,导致请求失败,调整如下:

核心问题修正

  1. SSL证书错误解决:Curl的-k参数是忽略SSL证书验证,对应Requests的verify=False参数,加上它就能解决SSL报错。
  2. 认证方式错误:你的Curl是把用户名密码放在POST的JSON请求体里,而非HTTP Basic认证(代码里的auth参数是做Basic Auth,和Curl逻辑完全不符),必须把参数放在请求体中。
  3. 关于-g参数:Curl的-g是禁用URL通配符解析(比如不把{}/[]当成通配符),而Python Requests默认不会对URL做这类解析,只要你正确传入URL(IPv4地址不要加[],IPv6地址保留[]即可),不需要额外配置。

正确的Requests代码

import requests

# 构造和Curl中-d参数一致的JSON请求体
payload = {
    "password": "pwd",
    "username": "test"
}

# 发送POST请求
response = requests.post(
    "https://ip_address:port/path/to/api",  # IPv6地址请写成https://[ip_address]:port/path/to/api
    json=payload,
    verify=False
)

# 查看响应结果
print(response.status_code)
print(response.text)

补充说明

  • 使用verify=False会关闭SSL证书校验,生产环境建议使用合法证书,并通过verify="/path/to/cert.pem"指定证书路径,不要直接关闭验证。
  • 如果你的URL中包含{}这类特殊字符,直接原样传入Requests即可,它不会像Curl那样默认解析成通配符,这就等价于Curl的-g功能。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 09:03:50