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/
  • 相关阅读:
    css样式之补充
    css样式之属性操作
    css之操作属性
    前端基础之css样式(选择器)
    mysql之视图,触发器,事务等
    pymysql模块
    MySQL之IDE工具介绍及数据备份
    mysql老是停止运行该怎么解决
    mysql之索引原理与慢查询优化
    MySQL 5.7.9版本sql_mode=only_full_group_by问题
  • 原文地址:https://www.cnblogs.com/RodYang/p/3363301.html
Copyright © 2011-2022 走看看