当前位置: 首页 > news >正文

非零基础自学Golang 第17章 HTTP编程(上) 17.5 知识拓展

非零基础自学Golang

文章目录

      • 非零基础自学Golang
      • 第17章 HTTP编程(上)
        • 17.5 知识拓展
          • 17.5.1 curl工具详解

第17章 HTTP编程(上)

17.5 知识拓展

17.5.1 curl工具详解

【1】curl 简介

curl是一个利用URL语法在命令行下工作的文件传输工具,于1997年首次发行。它支持文件上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具。

curl还包含了用于程序开发的libcurl。

curl支持的通信协议有FTP、FTPS、HTTP、HTTPS、TFTP、SFTP、Gopher、SCP、TELNET、DICT、FILE、LDAP、LDAPS、IMAP、POP3、SMTP和RTSP。

该工具的官网地址为:https://curl.haxx.se。

在这里插入图片描述

【2】curl 安装

对于Linux系统而言,系统已默认安装此工具,无须再次安装。

对于Windows系统,大部分发行版本都默认没有安装curl工具,部分系统如Win10已默认安装。

在这里插入图片描述

win11 也有

对于没有安装curl工具的系统,可自行下载安装包安装,下载地址为:https://curl.haxx.se/windows/。

在这里插入图片描述

这里 笔者就不装了

【3】curl 常见命令

① 查看网页 源码

curl https://curl.se

在这里插入图片描述

这是最简单的使用方法,用这个命令获得了https://curl.se指向的页面。

同样,如果这里的URL指向的是一个文件或者一幅图,都可以直接下载到本地。

如果要把这个网页保存下来,可以使用-o参数:

curl https://curl.se -o test.html

在这里插入图片描述

在这里插入图片描述

打开看看

在这里插入图片描述

没毛病

② 显示头信息

-i参数可以显示HTTP的Response的头信息,连同网页代码一起。-I参数则只显示HTTP的Response的头信息。

curl -i https://curl.se

在这里插入图片描述

③ 显示通信过程

-v参数可以显示一次http通信的整个过程,包括端口连接和HTTP的Request头信息。

curl -v https://curl.se

在这里插入图片描述

④ 发送表单信息

发送表单信息有GET和POST两种方法。GET方法相对简单,只要把数据附在网址后面即可。

curl example.com/form.cgi?data=xxx

POST方法必须把数据和网址分开,curl就要用到–data或者-d参数。

curl -X POST --data "data=xxx" example.com/form.cgi

⑤ 选择使用的请求方法

默认的HTTP请求方法是GET,使用-X参数可以支持其他方法。

curl -X POST https://curl.haxx.se

curl -X PUT https://curl.haxx.se

⑥ 设置UA

–user-agent参数用来表示客户端的设备信息,服务器有时会根据这个字段,针对不同设备返回不同格式的网页,比如手机版和桌面版。

curl --user-agent "[User Agent]" https://curl.se

在这里插入图片描述

⑦ 设置Cookie

使用–cookie参数,可以让curl发送Cookie。

curl --cookie "name=xxx" https://curl.se

在这里插入图片描述

⑧ 增加头信息

有时需要在HTTP的Request之中自行增加一个头信息,–header参数就可以起到这个作用。

curl --header "Content-Type:application/json" http://example.com

相关文章:

  • 龙华企业网站建设公司/手机端竞价恶意点击
  • 网站设计做哪些的/快速seo优化
  • 建网站龙/在线网页编辑平台
  • 江苏住房和城乡建设局网站/百度移动端关键词优化
  • 网站地址怎么申请注册/上海优化外包公司排名
  • 深圳专门网站建设/seo推广软件费用
  • MATLAB算法实战应用案例精讲-【连接分析】PageRank
  • ping命令使用之每次只ping一次
  • 【数据库内核分析系列】:数据库索引的创建过程
  • 非零基础自学Golang 第17章 HTTP编程(上) 17.1 HTTP简介
  • 5G数据库组网方案
  • 全国职业院校技能大赛中职组网络安全竞赛试题 —命令注入(笔记文档)
  • Zookeeper 4 Zookeeper JavaAPI 操作 4.9 模拟12306 售票案例
  • RabbitMQ学习初整理
  • 20221223英语学习
  • 电脑桌面文件删除了怎么找回?
  • 测试资源管控
  • 大数据处理之ClickHouse概述及架构参考(未完)