当前位置:  开发笔记 > 编程语言 > 正文

如何通过curl调用使用HTTP请求发送标头?

如何解决《如何通过curl调用使用HTTP请求发送标头?》经验,为你挑选了9个好方法。

我希望在Linux机器上向我的Apache服务器发送一个标头.如何通过卷曲调用实现此目的?



1> Tader..:

man curl:

   -H/--header 
(HTTP) Extra header to use when getting a web page. You may specify any number of extra headers. Note that if you should add a custom header that has the same name as one of the internal ones curl would use, your externally set header will be used instead of the internal one. This allows you to make even trickier stuff than curl would normally do. You should not replace internally set headers without knowing perfectly well what you're doing. Remove an internal header by giving a replacement without content on the right side of the colon, as in: -H "Host:". curl will make sure that each header you add/replace get sent with the proper end of line marker, you should thus not add that as a part of the header content: do not add newlines or carriage returns they will only mess things up for you. See also the -A/--user-agent and -e/--referer options. This option can be used multiple times to add/replace/remove multi- ple headers.
例:
curl --header "X-MyHeader: 123" www.google.com

您可以通过添加-v选项查看卷曲发送的请求.


如果你想发送多个头文件,请使用多个--header,没关系,curl会将每个头文件解析为不同的头文件.无法在同一个--header参数中分隔标头.示例:curl --header"Accept:javascript"--header"test:hello"-v www.google.com
@MartinKonicek和其他人:我强烈建议使用tldr utiltiy(brew等安装tldr).它唯一的例子.例如" - 使用自定义HTTP方法发送带有额外标头的请求:curl -H'X-My-Header:123'-X PUT http://example.com"

2> Randhi Rupes..:

得到:

使用JSON:

curl -i -H "Accept: application/json" -H "Content-Type: application/json" http://hostname/resource

使用XML:

curl -H "Accept: application/xml" -H "Content-Type: application/xml" -X GET http://hostname/resource

POST:

用于发布数据:

curl --data "param1=value1¶m2=value2" http://hostname/resource

对于文件上传:

curl --form "fileupload=@filename.txt" http://hostname/resource

RESTful HTTP帖子:

curl -X POST -d @filename http://hostname/resource

用于登录站点(auth):

curl -d "username=admin&password=admin&submit=Login" --dump-header headers http://localhost/Login
curl -L -b headers http://localhost/


对于后来到达的人可能想知道同样的事情... @符号是一种读取数据从文件发送到服务器的方式,而不是将其内联到curl请求中.您没有POST文件本身,而是将POST文件的内容作为POST请求的主体发布.

3> 小智..:

PHP中:

curl_setopt($ch, CURLOPT_HTTPHEADER, array('HeaderName:HeaderValue'));

或者您可以设置多个:

curl_setopt($ch, CURLOPT_HTTPHEADER, array('HeaderName:HeaderValue', 'HeaderName2:HeaderValue2'));


OP没有透露任何有关PHP思想的内容

4> Greg..:

使用-H or --header.

手册页:http://curl.haxx.se/docs/manpage.html#-H


-H选项可以在命令提示符中使用,例如:curl -H"pwd:123"http://localhost/test.php

5> Vietnhi Phuv..:

GET(多个参数):

curl -X  GET "http://localhost:3000/action?result1=gh&result2=ghk"

要么

curl --request  GET "http://localhost:3000/action?result1=gh&result2=ghk"

要么

curl  "http://localhost:3000/action?result1=gh&result2=ghk"

要么

curl -i -H "Application/json" -H "Content-type: application/json"  "http://localhost:3000/action?result1=gh&result2=ghk"



6> 小智..:

您还可以发送多个标头,数据(例如JSON),并在单个CUrl调用中指定Call方法(POST,GET),如下所示:

curl -X POST(Get or whatever) \
  http://your_url.com/api/endpoint \
  -H 'Content-Type: application/json' \
  -H 'header-element1: header-data1' \
  -H 'header-element2: header-data2' \

......更多标题...

  -d '{
  "JsonExArray": [
    {
      "json_prop": "1",
    },
    {
      "json_prop": "2",
    }
  ]
}'



7> 小智..:

我用邮递员。

执行您想执行的任何呼叫。然后,邮递员提供了一个方便的工具来显示卷曲代码。

在终端中运行它。



8> Graham Perks..:

我已经从curl转到了Httpie ; 语法如下:

http http://myurl HeaderName:value



9> 小智..:

如果您想发送自定义标头,可以这样做:

curl -v -H @{'custom_header'='custom_header_value'} http://localhost:3000/action?result1=gh&result2=ghk

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有