zoukankan      html  css  js  c++  java
  • Linux curl 详解

    Linux下载工具Curl也是Linux下不错的命令行下载工具,小巧、高速,唯一的缺点是不支持多线程下载。以下是他的安装和功能。

    安装

    $ tar zxvf curl-7.14.0.tar.gz  
    $ cd curl-7.14.0/  
    $ ./configure  
    $ make  
    $ make test  
    $ make install

    参数详情

    参数:描述
    -M/--manual 显示全手动
    -n/--netrc 从netrc文件中读取用户名和密码
    --netrc-optional 使用 .netrc 或者 URL来覆盖-n
    --ntlm 使用 HTTP NTLM 身份验证
    -N/--no-buffer 禁用缓冲输出
    -o/--output 把输出写到该文件中
    -O/--remote-name 把输出写到该文件中,保留远程文件的文件名
    -p/--proxytunnel 使用HTTP代理
    --proxy-anyauth 选择任一代理身份验证方法
    --proxy-basic 在代理上使用基本身份验证
    --proxy-digest 在代理上使用数字身份验证
    --proxy-ntlm 在代理上使用ntlm身份验证
    -P/--ftp-port
     
    使用端口地址,而不是使用PASV
    -Q/--quote 文件传输前,发送命令到服务器
    -r/--range 检索来自HTTP/1.1或FTP服务器字节范围
    --range-file 读取(SSL)的随机文件
    -R/--remote-time 在本地生成文件时,保留远程文件时间
    --retry 传输出现问题时,重试的次数
    --retry-delay 传输出现问题时,设置重试间隔时间
    --retry-max-time 传输出现问题时,设置最大重试时间
    -s/--silent 静音模式。不输出任何东西
    -S/--show-error 显示错误
    --socks4<host[:port]> 用socks4代理给定主机和端口
    --socks5<host[:port]> 用socks5代理给定主机和端口
    -t/--telnet-option<opt=val> Telnet选项设置
    --trace 对指定文件进行debug
    --trace-ascii Like 跟踪但没有hex输出
    --retry-delay 传输出现问题时,设置重试间隔时间
    --trace-time 跟踪/详细输出时,添加时间戳
    -T/--upload-file 上传文件
    --url Spet URL to work with
    -u/--user<user[:password]> 设置服务器的用户和密码
    -U/--proxy-user<user[:password]> 设置代理用户名和密码
    -V/--version 显示版本信息
    -w/--write-out [format] 什么输出完成后
    -x/--proxy<host[:port]> 在给定的端口上使用HTTP代理
    -X/--request 指定什么命令
    -y/--speed-time 放弃限速所要的时间。默认为30
    -Y/--speed-limit 停止传输速度的限制,速度时间秒
    -z/--time-cond 传送时间设置

    常用curl实例

    抓取页面内容到一个文件中

    $ curl -o home.html  http://www.sina.com.cn 

    用-O(大写的),后面的url要具体到某个文件,不然抓不下来。我们还可以用正则来抓取东西

    $ curl -O http://www.it415.com/czxt/linux/25002_3.html 

    模拟表单信息,模拟登录,保存cookie信息

    $ curl -c ./cookie_c.txt -F log=aaaa -F pwd=****** http://blog.51yip.com/wp-login.php 

    模拟表单信息,模拟登录,保存头信息

    $ curl -D ./cookie_D.txt -F log=aaaa -F pwd=****** http://blog.51yip.com/wp-login.php #-c(小写)产生的cookie和-D里面的cookie是不一样的

    使用cookie文件

    $ curl -b ./cookie_c.txt  http://blog.51yip.com/wp-admin 

    断点续传,-C(大写的)

    $ curl -C -O http://www.sina.com.cn 

    传送数据,最好用登录页面测试,因为你传值过去后,curl回抓数据,你可以看到你传值有没有成功

    $ curl -d log=aaaa  http://blog.51yip.com/wp-login.php 

    显示抓取错误

    $ curl -f http://www.sina.com.cn/asdf #curl: (22) The requested URL returned error: 404

    伪造来源地址,有的网站会判断,请求来源地址

    $  curl -e http://localhost http://www.sina.com.cn 

    当我们经常用curl去搞人家东西的时候,人家会把你的IP给屏蔽掉的,这个时候,我们可以用代理

    $ curl -x 10.10.90.83:80-o home.html http://www.sina.com.cn 

    比较大的东西,我们可以分段下载

    $  curl -r 0-100-o img.part1 http://i2.f.itc.cn/thumb/180/bj/6018/b_60178154.jpg 

    不显示下载进度信息

    $  curl -s -o aaa.jpg  

    显示下载进度条

    $  curl -# -O  http://www.it415.com/czxt/linux/25002_3.html  

    通过ftp下载文件

    $  curl -u 用户名:密码-O http://blog.51yip.com/demo/curtain/bbstudy_files/style.css 

    通过ftp上传

    $  curl -T xukai.php ftp://xukai:test@192.168.242.144:21/www/focus/enhouse/
  • 相关阅读:
    VC 常见问题百问
    python windows 环境变量
    Check server headers and verify HTTP Status Codes
    Where are the AES 256bit cipher suites? Please someone help
    outlook 如何预订会议和会议室
    安装Axis2的eclipse插件后,未出现界面
    windows 环境变量
    python 时间日期处理汇集
    openldap学习笔记(使用openldap2.3.32)
    set p4 environment in windows
  • 原文地址:https://www.cnblogs.com/RodYang/p/3363301.html
Copyright © 2011-2022 走看看