curl & wget

curl
	说明:curl命令是一个功能强大的网络工具,它可以发送http、ftp等请求,故可以用来上传、下载文件。

	格式:curl [参数] url地址

	参数:
		-X						指定请求方式,默认为get。
		-H/--header 			设置请求头,多个参数则使用多个-H指定。-H "Content-Type: application/json; charset=utf-8" -H "X-AUTH-USER:admin" 
		-d/--data 				请求方式为post时,使用该选项来传递请求的参数。注:get请求时,该选项失效。
									json格式:	-d '{"key":"value"}'
									表单格式:	-d 'aaa=11&bb=22'
		-u 						指定Authorization信息。eg:-u 'username:password'
		-v 						显示详细执行信息
		-s/--slient 			减少输出的信息,例如进度等。
		-m/--max-time  指定处理的最大时长,单位秒
		-I/--head 				仅返回头部信息
		-i 						返回头部信息和响应结果
		-o/--output  		将响应的结果保存到指定的文件中
		-w 						在一次完整且成功的操作后输出指定格式的内容到标准输出,输出变量需要按照%{variable_name}的格式	

	举例:
		访问接口:
			get方法:	
				无参数:
					curl http://localhost:8080/test/getMethod
				有参数:
					curl 'http://localhost:8080/test/getMethod?aaa=11&bb=22'
					
			post方法:	
				json格式:
					curl -X post http://localhost:8080/test/postMethod -d '{"uuid":"asdf"}' -H "Content-Type: application/json"
				表单格式:
					curl -X post http://localhost:8080/test/postMethod -d 'aaa=11&bb=22'  	# 默认application/x-www-form-urlencoded
					curl -X post http://localhost:8080/test/postMethod -d aaa=11 -d bb=22
				将参数写到文件中:
					curl -X post http://localhost:8080/test/postMethod --data-binary @/jxn/param.json -H "Content-Type: application/json"
				将参数编码:
					curl -X post http://localhost:8080/test/postMethod --data-urlencode 'aaa=11&bb=22'
		其它:
			仅显示http响应头:			curl -I https://www.baidu.com
			显示http响应头和响应内容:		curl -i https://www.baidu.com
			将请求的结果保存到指定文件中:	curl -o ./temp.txt  https://www.baidu.com
			获取http状态码:				curl -s -o /dev/null -w %{http_code}"\n" https://www.baidu.com
				补充:/dev/null称为空设备,它丢弃一切写入其中的数据,且报告写入操作成功。读取它则会立即得到一个EOF。通常被用于丢弃不需要的输出流。


wget
	说明:wget命令用来从指定的URL下载文件。

	格式:curl [参数] 文件地址(http或ftp)

	参数:
		-r 					递归下载
		-l/--level=NUMBER	递归的层数(inf或0表示无限制)
		-nH					不要创建主(host)目录
		–cut-dirs=NUMBER	忽略NUMBER层远程目录。
							eg:
							--cut-dirs=3 [email protected]:/data/test/dirA/	 则下载的产出是 dirA/
							--cut-dirs=2 [email protected]:/data/test/dirA/	 则下载的产出是 test/dirA/

		-O filename			将下载的内容写入到filename中
		-o logname			将wget运行的日志写入到logname中

		--user 					用户名
		--password				密码
		--preserve-permissions	保留远程文件的权限
		--header 				指定请求头。eg:--header "mytoken:asdf"

	举例:
		wget -r --level=0 -nH --cut-dirs=2 [email protected]:/data/test/  --user jxn --password jxn123 --preserve-permissions
		wget -O myindex.html www.baidu.com
		wget -o log.txt www.baidu.com


		
		

 

你可能感兴趣的:(Linux)