首页 文章

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

提问于
浏览
1138

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

7 回答

  • 49

    在PHP中:

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

    或者您可以设置多个:

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

    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"
    
  • 40

    GET:

    使用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&param2=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/
    
  • 259

    我已经从curl切换到Httpie;语法如下:

    http http://myurl HeaderName:value
    
  • 5

    man curl

    -H/--header <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 选项查看卷曲发送的请求 .

  • 8
  • 1698

    如果你想发送你的 custom headers ,你可以这样做:

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

相关问题