首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在curl请求中使用绝对或相对路径发送json文件

在curl请求中使用绝对或相对路径发送json文件
EN

Stack Overflow用户
提问于 2013-05-18 02:44:42
回答 1查看 49.6K关注 0票数 32

我只是想知道如何发送一个带有-d选项的curl命令,指定一个带有路径的文件,而不是当前目录中的文件。

这是当我尝试在本地目录中使用json文件测试我的应用程序时得到的结果。这个应用程序和我都很高兴:

代码语言:javascript
运行
复制
curl -XPOST -H 'Content-Type:application/json' -d @all_fields.json http://testcomp.lab.net:8080/stats -v -s
* About to connect() to testcomp.lab.net port 8080
*   Trying 10.93.2.197... connected
* Connected to testcomp.lab.net (10.93.2.197) port 8080
> POST /stats HTTP/1.1
> User-Agent: curl/7.15.5 (x86_64-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5
> Host: testcomp.lab.net:8080
> Accept: */*
> Content-Type:application/json
> Content-Length: 2882
> Expect: 100-continue
> 
< HTTP/1.1 100 Continue
HTTP/1.1 200 OK
< Content-Length: 0
* Connection #0 to host testcomp.lab.net left intact
* Closing connection #0

这就是当我在另一个目录中指定一个json文件时得到的结果

代码语言:javascript
运行
复制
curl -XPOST -H 'Content-Type:application/json' -d @json/all_fields.json http://testcomp.lab.net:8080/stats -v -s
"Invalid json for Java type interface java.util.List"
Warning: Couldn't read data from file "json/all_fields.json", this makes an 
Warning: empty POST.

<snip snip>
<snip snip>

< HTTP/1.1 400 Bad Request
< Content-Type: application/json
< Transfer-Encoding: chunked
* Connection #0 to host testcomp.lab.net left intact
* Closing connection #0

在curl的手册页中,我没有看到任何用于为作为数据传入的文件指定目录的内容。不幸的是,我是否仅限于本地目录中的文件,或者是否有特殊的方法来指定不同目录中的文件?提前感谢您的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-18 14:03:10

-d @命令选项接受任何可解析的文件路径,只要该路径实际存在。因此,您可以使用:

  • 相对于当前目录的路径
  • 完全限定路径
  • 带有软链接的路径

<代码>F210

也就是说,就像其他数百个*Nix风格的命令一样。请注意,-d选项将尝试对您的数据进行url编码,而您所描述的数据实际上并不是您想要的。您应该改用--data-binary选项。如下所示:

代码语言:javascript
运行
复制
curl -XPOST
     -H 'Content-Type:application/json'
     -H 'Accept: application/json'
     --data-binary @/full/path/to/test.json
     http://localhost:8080/easy/eservices/echo -v -s
票数 55
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16615900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档