当前位置:   article > 正文

掌握wget、curl的常用用法:_wget ip

wget ip

wget:

基础用法:

扩展用法:

curl

基础用法: 

扩展用法:


wget:

Linux系统用于从Web下载文件的命令行工具,支持 HTTP、HTTPS及FTP协议下载文件

基础用法:

wget 网址(ip地址)/下载路径/要下载的文件

wget https://download.redis.io/releases/redis-6.0.8.tar.gz

扩展用法:

  1. -O 选项以其他名称保存下载的文件 wget 下载后的名称 网址(ip地址)/下载路径/要下载的文件
  2. -P 选项将文件下载到指定目录 wget 要下载到的路径 网址(ip地址)/下载路径/要下载的文件
  3. -c 选项断点续传
  4. 当我们下载一个大文件时,如果中途网络断开导致没有下载完成,我们就可以使用命令的-c选项恢复下载, 让下载从断点续传,无需从头下载。 wget -c 网址(ip地址)/下载路径/要下载的文件
  5. -b 选项在后台下载 wget -b 网址(ip地址)/下载路径/要下载的文件
  6. 要查看下载状态,可以使用tail -f wget-log查看。 "
  7. -i 选项下载多个文件
  8. 如果先要一次下载多个文件,首先需要创建一个文本文件, 并将所有的url及下载路径添加到该文件中,每个url都必须是单独的一行 wget -i 存放的文本文件 "
  9. -U 选项设定模拟下载
  10. 如果远程服务器阻止wget下载资源,我们可以通过-U选项模拟浏览器进行下载
  11. wget -U 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.43 Safari/537.36' 网址(ip地址)/下载路径/要下载的文件"
  12. --tries 选项增加重试次数
  13. 如果网络有问题或下载一个大文件有可能会下载失败,wget默认重试20次,我们可以使用-tries选项来增加重试次数。 wget --tries=40 网址(ip地址)/下载路径/要下载的文件"
  14. 通过FTP下载如果要从受密码保护的FTP服务器下载文件,需要指定用户名和密码,格式如下:
  15. wget --ftp-user=<username> --ftp-password=<password> url"

curl

curl是一个命令行访问URL的计算机逻辑语言的工具,也是命令行下工作的文件传输工具,习惯称cURL为下载工具

基础用法: 

curl url

扩展用法:

  1. -o (小写)保存网页
  2. curl -o 保存后的文件名 url
  3. 测试网页返回值:curl -o /dev/null -s -w %{http_code} url 正常返回200 -s : 不显示下载进度信息
  4. -w:完成请求传输后,使 curl 在 stdout 上显示自定义信息
  5. 格式是一个字符串,可以包含纯文本和任意数量的变量(下方详解)
  6. -O (大写)保存网页中的文件
  7. curl -O url/要保存的文件名
  8. 可循环下载 :(有时候下载图片可以能是前面的部分名称是一样的,就最后的尾椎名不一样):
  9. curl -O http://www.linux.com/dodo[1-5].JPG 下载dodo1,dodo2,dodo3,dodo4,dodo5
  10. 下载重命名:hello与bb文件夹内都有dodo1,dodo2,dodo3,dodo4,dodo5文件,下载后会覆盖,所以就要重命名
  11. curl -o #1_#2.JPG http://www.linux.com/{hello,bb}/dodo[1-5].JPG 下载后的文件名就会变成:hello_dodo1、bb_dodo1 通过ftp下载文件(curl提供两种方法)
  12. curl -O -u 用户名:密码 ftp://www.linux.com/dodo1.JPG
  13. curl -O ftp://用户名:密码@www.linux.com/dodo1.JPG 显示/不显示下载进度信息
  14. curl -#(显示)/-s(不显示) -O http://www.linux.com/dodo1.JPG 断点续传:文件过大,网路不稳定,防止下载过程中掉线
  15. curl -C -O http://www.linux.com/dodo1.JPG 掉线后可用此参数继续下载,无需重新开始
  16. 上传文件:
  17. curl -T 要上传的文件名 -u 用户名:密码 ftp服务器的url与要上传到的路径
  18. -r 分块下载:当下载的东西过大时,那个时候就可以使用分块下载
  19. curl -r 0-100 -o dodo1_part1.JPG http://www.linux.com/dodo1.JPG
  20. curl -r 100-200 -o dodo1_part2.JPG http://www.linux.com/dodo1.JPG
  21. curl -r 200- -o dodo1_part3.JPG http://www.linux.com/dodo1.JPG 200- 代表200到最后 cat dodo1_part* > dodo1.JPG 这样就可以查看dodo1.JPG了
  22. -x 指定proxy服务器以及其端口 (使用代理服务器上网或者因为使用curl别人网站而被别人屏蔽IP地址的时候)
  23. curl -x proxy的ip:端口 url
  24. -c 保存http的response里面的cookie信息
  25. curl -c 保存cookie的文件名 url
  26. -D 保存http的response里面的header信息
  27. curl -D 保存header的文件名 url -c(小写)产生的cookie和-D里面的cookie是不一样的。
  28. -b 使用cookie访问网站 很多网站都是通过监视你的cookie信息来判断你是否按规矩访问他们的网站的,因此我们需要使用保存的cookie信息,参数格式可以是字符串,也可以是文件
  29. curl -b 保存cookie的文件 url
  30. -A 模仿浏览器 有些网站需要使用特定的浏览器去访问他们,有些还需要使用某些特定的版本。
  31. curl -A "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.0)" url 内为模仿的浏览器及版本 为 IE8.0"
  32. -e 伪造referer(盗链)很多服务器会检查http访问的referer从而来控制访问。
  33. 比如:你是先访问首页,然后再访问首页中的邮箱页面,这里访问邮箱的referer地址就是访问首页成功后的页面地址,如果服务器发现对邮箱页面访问的referer地址不是首页的地址,就断定那是个盗连了
  34. curl -e "首页rul" 邮箱url 这样就会让服务器其以为你是从www.linux.com点击某个链接过来的"
  35. -f 显示抓取错误
  36. curl -f url/error"
  37. -w 指定输出内容
  38. curl -o /dev/null -s -w %{http_code} 192.168.1.10 搭配-o /dev/null 下载到空(丢弃)目的为不显示网页源码 -s 不显示下载进度条,这样返回的就只有状态码(根据变量)了 变量:
  39. 使用格式 %{变量名} time变量某个请求的响应特别慢,那想要分析为什么这个请求慢,到底是哪一步耗时长
  40. url_effective 最终获取的url地址,尤其是当你指定给curl的地址存在301跳转,且通过-L继续追踪的情形。
  41. http_code http状态码,如200成功,301转向,404未找到,500服务器错误等
  42. http_connect 在对 curl CONNECT 请求的最后响应(来自代理)中找到的数字代码
  43. time_total 总时间,按秒计。精确到小数点后三位。
  44. time_namelookup DNS解析时间,从请求开始到DNS解析完毕所用时间。
  45. time_connect 连接时间,从开始到建立TCP连接完成所用时间,包括前边DNS解析时间,如果需要单纯的得到连接时间,用这个time_connect时间减去前边time_namelookup时间。以下同理,不再赘述。
  46. time_appconnect 连接建立完成时间,如SSL/SSH等建立连接或者完成三次握手时间。
  47. time_pretransfer 从开始到准备传输的时间。
  48. time_redirect 重定向时间,包括到最后一次传输前的几次重定向的DNS解析,连接,预传输,传输时间。
  49. time_starttransfer 开始传输时间。在发出请求之后,Web 服务器返回数据的第一个字节所用的时间
  50. size_download 下载大小。
  51. size_upload 上传大小。
  52. size_header 下载的header的大小
  53. size_request 请求的大小。
  54. speed_download 下载速度,单位-字节每秒。
  55. speed_upload 上传速度,单位-字节每秒。
  56. content_type 就是content-Type,不用多说了,这是一个访问我博客首页返回的结果示例
  57. num_connects 在最近的转移中建立的新连接数。
  58. num_redirects 在请求中跟随的重定向的数量。
  59. redirect_url 当发出HTTP请求时没有使用-L来跟随重定向时,这个变量将显示重定向将带您到的实际URL。
  60. ftp_entry_path 登录到远程FTP服务器时,初始路径libcurl最终到达的位置。
  61. ssl_verify_result ssl认证结果,返回0表示认证成功。
  62. remote_ip 目标服务器的远程ip(ipv4、ipv6) curl -o /dev/null -s -w %{remote_ip} www.qq.com local_ip 为自己的ip
  63. remote_port 目标服务器的远程端口
  64. response_code 与http_code相同
  65. -L 自动跳转 有的网址是自动跳转的。使用 -L 参数,curl 就会跳转到新的网址
  66. curl -L url
  67. -i/I 显示/只显示响应体
  68. curl -i/I url
  69. -v 显示通信过程 v 参数可以显示一次 http 通信的整个过程,包括端口连接和 http request 头信息。
  70. curl -o /dev/null -s -v url 此处作用与上方相同 ,为了只显示通信过程
  71. 更加详细的通信过程 curl --trace 保存信息的文件 url 与 curl --trace-ascii 保存信息的文件url cat 文件名 查看过程信息
  72. 发送表单信息
  73. get方法(GET 方法相对简单,只要把数据附在网址后面就行。):curl example.com/form.cgi?data=xxx 默认为get"
  74. post方法(必须把数据和网址分开,curl 就要用到 --data 或者 -d 参数。) : curl -X POST --data "data=xxx" example.com/form.cgi
  75. 如果你的数据没有经过表单编码,还可以让 curl 为你编码,参数是 --data-urlencode
  76. curl -X POST--data-urlencode "date=April 1" example.com/form.cgi
  77. http动词:curl 默认的 HTTP 动词是 GET,使用 -X 参数可以支持其他动词。
  78. 例: curl -X DELETE url

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/256594?site
推荐阅读
相关标签
  

闽ICP备14008679号