1. curl 安装使用介绍

curl 命令是一个在 Linux 系统利用 URL 工作命令行文件传输工具,常用于服务访问文件下载curl 支持 HTTP、HTTPS、FTP 等多种协议默认是 HTTP 协议),可用于模拟服务请求以及上传和下载文件

1.1 安装命令

并非所有系统自带 curl 命令,对于简洁版的 Linux 系统,可以使用命令安装yum install curl安装完成后,使用 curl --version 查看版本信息

1.2 简单使用

1.3 使用参数

常见参数项包括:

测试接口是否正常: curl -o /dev/null -s -w %{http_code} http://www.baidu.com

2. 使用 curl 模拟 GET/POST 请求

2.1 模拟 GET 请求

2.2 模拟 POST 请求

POST 请求时,可以使用以下参数

### 指定地址、请求头信息、请求类型、请求参数
curl 'http://localhost:8080/cnd_inke/qc/v2/inke' 
-H "Content-Type:application/json" 
-H 'Authorization:bearer' 
-X POST 
-d '{"Id":"12330245","visitTimes":1,"docType":"散文","docId":"36e5854f5f0e4f80b7ccc6c52c063243"}'

2.3 发送 json 数据

使用 POST 请求体是 json 格式数据,使用 -d 参数可以指定 json 字符串;也可以数据放在 json 文件中,然后引用文件作为参数。

### test.json 文件存储 json 字符串
curl 'http://localhost:8080/cnd_inke/qc/v2/inke' 
-H "Content-Type:application/json" 
-H 'Authorization:bearer' 
-X POST 
-d ’@/test.json'

2.4 携带 Cookies

  1. 使用 -D 参数保存请求的 Cookies: curl -o page1.html -D cookie.txt http://www.baidu.com
  2. 模拟浏览器请求并保存 Cookiescurl -A "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" -o page.html -D cookie.txt http://mydomain.net
  3. 请求时携带 Cookie: curl -b cookie.txt http://www.baidu.com

3. 使用 curl 上传和下载文件

3.1 文件上传

使用 -F 参数上传文件: curl -F 'file=@test.png;type=image/png' http://www.baidu.com/upload

3.2 文件下载

Curl 下载文件时使用 -O 选项默认使用网络文件的名字作为本地文件名
文件下载方式有:

  1. 可以使用重定向保存到指定文件: … >> index.html
  2. 如果想要为下载的文件指定名称,则使用 -o 代替 -Ocurl -o file2.pdf www.example.com/file.pdf
  3. -# ,显示下载进度速度信息,可使用 -s 关闭显示
  4. --limit-rate设置下载时最大下载速度,如 --limit-rate 1m
  5. 使用 -C 参数可以设置开启断点续传
curl http://mirrors.163.com/centos/8.1.1911/isos/x86_64/CentOS-8.1.1911-x86_64-dvd1.iso

批量下载文件

4. curl 使用 ip 代理请求服务

4.1 设置代理信息

curl 命令还可以使用 -x 参数来设置 http(s) 代理socks 代理设置用户名密码认证信息方式如下

# 使用HTTP代理访问;如果未指定端口默认使用8080端口;
# protocol 默认为 http_proxy,其他可能的值包括:
# http_proxy、HTTPS_PROXY、socks4、socks4asocks5;
# 如: --proxy 8.8.8.8:8080; -x "http_proxy://aiezu:123@aiezu.com:80"
-x host:port
-x [protocol://[user:pwd@]host[:port]
--proxy [protocol://[user:pwd@]host[:port]

4.2 使用 ip 代理示例

# 指定 http 代理 IP 和端口
curl -x 113.185.19.192:80 http://baidu.com
#显式指定为 http 代理
curl -x http_proxy://113.185.19.192:80 http://baidu.com
 
#指定 https 代理
curl -x HTTPS_PROXY://113.185.19.192:80 http://baidu.com
 
#指定代理用户名密码basic 认证方式
curl -x aiezu:123456@113.185.19.192:80 http://baidu.com
curl -x 113.185.19.192:80 -U aiezu:123456 http://baidu.com
#指定代理协议用户名密码basic 认证方式
curl -x HTTPS_PROXY://aiezu:123456@113.185.19.192:80 http://baidu.com
 
#指定代理用户名密码,ntlm 认证方式
curl -x 113.185.19.192:80 -U aiezu:123456 --proxy-ntlm http://baidu.com

原文地址:https://blog.csdn.net/grammer_du/article/details/130451087

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_30214.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注