热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

curl是一个强大的命令行工具,它可以通过网络将信息传递给服务器或者从服务器获取数据。他支持很多的传输协议,尤其是httphttps以及其他诸如ftpftps,rtsp,

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

在一些个例中,或许你想要在一个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

201569175445277.jpg (800×195)

    对于"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命令的详细信息。






推荐阅读
  • 在Kubernetes上部署JupyterHub的步骤和实验依赖
    本文介绍了在Kubernetes上部署JupyterHub的步骤和实验所需的依赖,包括安装Docker和K8s,使用kubeadm进行安装,以及更新下载的镜像等。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 如何利用 Myflash 解析 binlog ?
    本文主要介绍了对Myflash的测试,从准备测试环境到利用Myflash解析binl ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • .NetCoreWebApi生成Swagger接口文档的使用方法
    本文介绍了使用.NetCoreWebApi生成Swagger接口文档的方法,并详细说明了Swagger的定义和功能。通过使用Swagger,可以实现接口和服务的可视化,方便测试人员进行接口测试。同时,还提供了Github链接和具体的步骤,包括创建WebApi工程、引入swagger的包、配置XML文档文件和跨域处理。通过本文,读者可以了解到如何使用Swagger生成接口文档,并加深对Swagger的理解。 ... [详细]
  • 本文介绍了NetCore WebAPI开发的探索过程,包括新建项目、运行接口获取数据、跨平台部署等。同时还提供了客户端访问代码示例,包括Post函数、服务器post地址、api参数等。详细讲解了部署模式选择、框架依赖和独立部署的区别,以及在Windows和Linux平台上的部署方法。 ... [详细]
  • 为PHP5安装curl和gd
    2019独角兽企业重金招聘Python工程师标准一、查看php5是否安装了curl:1在web服务器目录(Ubuntu下通常为varwww ... [详细]
  • 在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的步骤和方法
    本文介绍了在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的详细步骤和方法。首先需要下载最新的Java SE Development Kit 9发行版,然后按照给出的Shell命令行方式进行安装。详细的步骤和方法请参考正文内容。 ... [详细]
  • 欢乐的票圈重构之旅——RecyclerView的头尾布局增加
    项目重构的Git地址:https:github.comrazerdpFriendCircletreemain-dev项目同步更新的文集:http:www.jianshu.comno ... [详细]
  • 渗透测试基础bypass绕过阻挡我们的WAF(下)
    渗透测试基础-bypass ... [详细]
  • LVS-DR直接路由实现负载均衡示例
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • SQLiLabs靶场的介绍、下载与安装
    介绍SQLi-Labs是一个专业的SQL注入练习平台下面的测试场景都支持GET和POST两种注入方式:1.报错注入(联合查询)1)字符型2)数字型2.报错注入(基于 ... [详细]
  • 注意:以下分析都是基于Retrofit2转载请注明出处:http:blog.csdn.netevan_manarticledetails51320637本节是《Retrofit的使 ... [详细]
  • 目前正在做毕业设计,一个关于校园服务的app,我会抽取已完成的相关代码写到文章里。一是为了造福这个曾经帮助过我的社区,二是写文章的同时更能巩固相关知识的记忆。一、前言在爬取教务系统 ... [详细]
  • ByteCTF 2019 WriteUp Kn0ck
    ByteCTF 2019 WriteUp Kn0ck ... [详细]
author-avatar
Echocc07
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有