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

如何查看Invoke-RestMethod构造的最终URI?求可查看请求的测试API

问题解答

1. 示例代码中最终发送的URI

这段代码里,Invoke-RestMethod发送的URI仍然是https://api.contoso.com/v2/profile。

原因是:当使用-Form参数发起POST请求时,表单数据(包括你定义的firstName、lastName、文件avatar等内容)是放在请求体中以multipart/form-data格式传输的,不会拼接到URI的查询参数里。只有GET请求的参数(或者手动指定-Body为查询字符串的情况)才会附加在URI后面。

2. 查看请求完整内容的方法

如果你想直观看到客户端实际发送的所有请求细节(包括URI、请求头、请求体),可以用以下几种方式:

方法一:PowerShell内置调试工具

  • 启用调试输出:调用Invoke-RestMethod前设置$DebugPreference = 'Continue',或直接添加-Debug参数,会输出请求的基本信息:
    $DebugPreference = 'Continue'
    $Result = Invoke-RestMethod -Uri $Uri -Method Post -Form $Form
    
  • 跟踪网络请求细节:用Trace-Command命令跟踪HttpWebRequest执行过程,能看到更完整的请求构建信息:
    Trace-Command -Name HttpWebRequest -Expression {
        $Result = Invoke-RestMethod -Uri $Uri -Method Post -Form $Form
    } -PSHost
    

方法二:本地代理抓包工具

使用Fiddler、Charles这类代理工具,配置PowerShell通过代理发送请求,就能完整捕获所有请求的原始内容,包括URI、请求头和请求体。

方法三:echo类测试API

使用会返回你发送的所有请求信息的公开API,把请求发送过去,就能从返回结果里看到自己的请求细节。这类服务会原样返回请求的URI、头、体等内容,适合学习调试。

3. Regex101代码转换的调试建议

把Python的requests代码转成PowerShell时,可将请求目标换成echo类测试API,发送后查看返回内容,对比Python代码发送的请求,快速定位差异。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 08:17:48