欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

在Linux系统下使用curl自定义HTTP头的方法

程序员文章站 2022-03-12 09:15:21
这篇文章主要介绍了在Linux系统下使用curl自定义HTTP头的方法,使用的curl命令实现起来非常简单,需要的朋友可以参考下... 15-06-09...

curl是一个强大的命令行工具,它可以通过网络将信息传递给服务器或者从服务器获取数据。他支持很多的传输协议,尤其是http/https以及其他诸如ftp/ftps, rtsp, pop3/pop3s, scp, imap/imaps协议等。当你使用curl向一个url发送http请求的时候,它会使用一个默认只包含必要的头部字段(如:user-agent, host, and accept)的http头。
在Linux系统下使用curl自定义HTTP头的方法

在一些个例中,或许你想要在一个http请求中覆盖掉默认的http头或者添加一个新的自定义头部字段。例如,你或许想要重写“host”字段来测试一个负载均衡,或者通过重写"user-agent"字符串来假冒特定浏览器以解决一些访问限制的问题。

为了解决所有这些问题,curl提供了一个简单的方法来完全控制传出http请求的http头。你需要的这个参数是“-h” 或者 “--header”。

为了定义多个http头部字段,"-h"选项可以在curl命令中被多次指定。

例如:以下命令设置了3个http头部字段。也就是说,重写了“host”字段,并且添加了两个字段("accept-language" 和 "cookie")

   

复制代码
代码如下:
$ curl -h 'host: 157.166.226.25' -h 'accept-language: es' -h 'cookie: id=1234' http://cnn.com

在Linux系统下使用curl自定义HTTP头的方法

    对于"user-agent", "cookie", "host"这类标准的http头部字段,通常会有另外一种设置方法。curl命令提供了特定的选项来对这些头部字段进行设置:

    -a (or --user-agent): 设置 "user-agent" 字段.
    -b (or --cookie): 设置 "cookie" 字段.
    -e (or --referer): 设置 "referer" 字段.

例如,以下两个命令是等效的。这两个命令同样都对http头的"user-agent"字符串进行了更改。

   

复制代码
代码如下:
$ curl -h "user-agent: my browser" http://cnn.com
$ curl -a "my browser" http://cnn.com

wget是另外一个类似于curl,可以用来获取url的命令行工具。并且wget也一样允许你使用一个自定义的http头。点击查看wget命令的详细信息。