【问题标题】:easiest way to make a POST action to a URI对 URI 进行 POST 操作的最简单方法
【发布时间】:2011-05-05 15:16:27
【问题描述】:

我在 Windows 上,对 URI 执行 POST 操作的最简单、最快的方法是什么?我可以使用命令行或 PowerShell 来实现吗?

【问题讨论】:

    标签: windows http command-line powershell http-post


    【解决方案1】:

    Powershell 示例:

     $c=New-Object System.Collections.Specialized.NameValueCollection
     $c.Add('param1','value1')
     $c.Add('param2','value2')
     $wc = New-Object system.net.webclient
     $d = $wc.uploadvalues("http://your.url",$c)
    

    【讨论】:

    • $d 是一个字节数组,包含来自资源的响应正文。
    【解决方案2】:

    使用 curl 怎么样?

    在您的观点中明确使用描述为here

    下面的示例 POST 用法(摘自 curl manual):

    curl -d "name=Rafael%20Sagula&phone=3320780" http://www.where.com/guest.cgi

    【讨论】:

    • 感谢您的回答。看起来是最简单的方法。但是如何使用此代码获取响应?
    • 您可以使用“>”将输出重定向到文件或变量中
    • 我会尝试,但我现在无法找到命令行工具在网络上的位置。我下载了一些东西,但它最终成为源代码。你知道我在哪里可以下载那个命令行工具吗
    【解决方案3】:

    这现在是 PowerShell 3.0 版以来的本机:

    Invoke-WebRequest -method POST -uri http://somewhere.com/rest/sample -body $content
    

    别名为iwrwgetcurl

    省去了创建WebClient 对象的所有麻烦。

    根据Wikipedia

    PowerShell 3.0 与 Windows 8 和 Windows Server 2012 集成。Microsoft 还为带有 Service Pack 1 的 Windows 7、带有 Service Pack 1 的 Windows Server 2008 以及带有 Service Pack 1 的 Windows Server 2008 R2 提供了 PowerShell 3.0 .

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-18
      • 1970-01-01
      • 2018-10-12
      • 2010-09-15
      • 2011-08-30
      • 2010-09-06
      相关资源
      最近更新 更多