WINDOWS RESTful服务上的cURL POST命令行

我的问题:使用命令行工具来卷曲我的本地主机服务器,同时发送一些数据与我的POST请求不起作用。

什么似乎导致错误:想象一下这样的事情

  • curl -i -X POST -H 'Content-Type: application/json' -d '{"data1": "data goes here", "data2": "data2 goes here"}' http:localhost/path/to/api
  • 返回数据的结果

    curl: (6) Could not resolve host: application; No data record of requested type
    curl: (6) Could not resolve host: data goes here,; No data record of requested type
    curl: (6) Could not resolve host: data2; No data record of requested type
    curl: (3) [globbing] unmatched close brace/bracket at pos 16
    

    经过一番搜索,我发现这个问题不可能是用于请求的sintax,因为它在UNIX shell上工作。

    你可能使用Windows? 这看起来像一个完全破碎的shell,不能正确处理单引号和双引号。 我只是试过这个命令行,它在我的linux系统上工作得很好。 http://curl.haxx.se/mail/archive-2011-03/0066.html

    我试图解决那些“逃脱它”,但它仍然无法正常工作

    2。

    curl -i -X POST -H'Content-Type:application / json'-d'{“data1 ”:“data goes here ”,“data2 ”:“data2 goes here ”}' http:// localhost / path / to / api

    3。

    curl -i -X POST -H'Content-Type:application / json'-d'{“data1 ”:“data goes here ”,“data2 ”:“data2 goes here ”}' http:// localhost / path / to / api

    所以我放弃了。 Windows似乎搞乱了在POST上发送的JSON对象


    我在我的win7 x64笔记本电脑上遇到了同样的问题,并且能够使用非常类似的命令行格式使用标签为Win64 - Generic w SSL的curl发行版来工作:

    C:Projectscurl-7.23.1-win64-ssl-sspi>curl -H "Content-Type: application/json" -X POST http://localhost/someapi -d "{"Name":"Test Value"}"
    

    这与通过在转义字符和标题参数值周围使用双引号区分第二个转义版本不同。 绝对更喜欢linux shell语法。


    命令行的另一种方法比引用引号更容易,就是将json放入一个文件中,并使用curl参数的@前缀,例如在json.txt中使用以下内容:

    { "syncheader" : {
        "servertimesync" : "20131126121749",
        "deviceid" : "testDevice"
      }
    }
    

    那么在我的情况下,我问:

    curl localhost:9000/sync -H "Content-type:application/json" -X POST -d @json.txt
    

    让json更具可读性。


    替代解决方案:比命令行更友好的解决方案:

    如果您正在寻找一种用户友好的方式来使用HTTP方法发送和请求数据,而不是使用简单的GET方法,那么您可能正在寻找像这样的一个Chrome扩展:http://goo.gl/rVW22f称为AVANCED REST CLIENT

    对于希望留在命令行中的人,我推荐cygwin:

    我最终用CURL安装了cygwin,这使我们能够获得Linux的感觉 - 在Windows上!

    使用Cygwin命令行,这个问题已经停止,最重要的是,1.上使用的请求语法运行正常。

    有用的链接:

    我在哪里下载curl for windows命令行?

    有关如何安装和使用cygwin进行卷曲工作的更多信息,请点击此处

    我希望它可以帮助某人,因为我整个上午都在此。

    链接地址: http://www.djcxy.com/p/8617.html

    上一篇: cURL POST command line on WINDOWS RESTful service

    下一篇: How to do specific HTTP POST in objective c (working curl line included)?