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/
Linux curl 详解的更多相关文章
- Linux命令详解之—tail命令
tail命令也是一个非常常用的文件查看类的命令,今天就为大家介绍下Linux tail命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux tail命令主要用来从指定点开始将文 ...
- Linux命令详解之—less命令
Linux下还有一个与more命令非常类似的命令--less命令,相比于more命令,less命令更加灵活强大一些,今天就给大家介绍下Linux下的less命令. 更多Linux命令详情请看:Linu ...
- Linux命令详解之—more命令
Linux more命令同cat命令一样,多用来查看文件内容,本文就为大家介绍下Linux more命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux的more命令类似 ca ...
- 【转】linux命令详解:md5sum命令
[转]linux命令详解:md5sum命令 转自:http://blog.itpub.net/29320885/viewspace-1710218/ 前言 在网络传输.设备之间转存.复制大文件等时,可 ...
- Linux命令详解之—cat命令
cat命令的功能是连接文件或标准输入并打印,今天就为大家介绍下Linux中的cat命令. 更多Linux命令详情请看:Linux命令速查手册 Linux 的cat命令通常用来显示文件内容,也可以用来将 ...
- Linux命令详解之—pwd命令
Linux的pwd命令也是一个非常常用的命令,本文为大家介绍下Linux中pwd命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux pwd命令用于显示工作目录. 执行pwd指 ...
- Linux命令详解之–cd命令
cd命令是linux实际使用当中另一个非常重要的命令,本文就为大家介绍下Linux中cd命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux cd命令用于切换当前工作目录至 d ...
- Linux命令详解之–ls命令
今天开始为大家介绍下Linux中常用的命令,首先给大家介绍下Linux中使用频率最高的命令--ls命令. 更多Linux命令详情请看:Linux命令速查手册 linux ls命令用于显示指定工作目录下 ...
- Linux 系统结构详解
Linux 系统结构详解 Linux系统一般有4个主要部分: 内核.shell.文件系统和应用程序.内核.shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序.管理文件并使用系统 ...
随机推荐
- 2014-10-28 NOIP模拟赛
Porble 1时间与空间之旅(tstrip.*) 题目描述 公元22××年,宇宙中最普遍的交通工具是spaceship.spaceship的出现使得星系之间的联系变得更为紧密,所以spaceship ...
- 求10000以内n的阶乘(openjudge 2923)
求10000以内n的阶乘 总时间限制: 5000ms 内存限制: 655360kB 描述 求10000以内n的阶乘. 输入 只有一行输入,整数n(0<=n<=10000). 输出 一行 ...
- 洛谷P3750 [六省联考2017]分手是祝愿(期望dp)
传送门 嗯……概率期望这东西太神了…… 先考虑一下最佳方案,肯定是从大到小亮的就灭(这个仔细想一想应该就能发现) 那么直接一遍枚举就能$O(nlogn)$把这个东西给搞出来 然后考虑期望dp,设$f[ ...
- 基于SSM搭建网站实现增删改查
网站源码地址:https://github.com/MyCreazy/BasicOperateWebSite.git 使用maven搭建网站的时候,记得选用war包格式,有时候maven包没有引用进来 ...
- linux 之基本命令学习总结
前言:从今天开始写这系列linux博客了(是学习刘遄老师的<linux就该这么学>),视频学习的资源可以在b站上找到:https://www.bilibili.com/video/av45 ...
- C语言-字符操作函数
1字符数组的初始化: 1.1 char string={'c','h','i','n','a'} 1.2char string={"china"}或者去掉{}即char strin ...
- MS SqlServer之Exec和EXEC SP_EXECUTESQL
exec执行sql时字符串时,不能给变量赋值,如果要在sql里给变量赋值,请用EXEC SP_EXECUTESQL 示例: 通过 SP_EXECUTESQL 的第2个参数来定义有哪些参数 输出的加OU ...
- 从一个LocalDateTime引发的疑问
一 公司有同事部署出错,然后查日志,找时间,从k8s得到的时间是 2017-06-16T09:38:48.580 +0000,然后他就纳闷了,因为他根本不会在9点部署好吧,而且9点大多数程序员都没开 ...
- 微信小程序tabBar显示问题
在微信小程序的开发中,我遇到疑惑如下: 在app.json中定义了多个pages,一般微信小程序启动的时候,自动加载pages下的第一个页面, "pages": [ ...
- datatables后台分页例子(可直接复制代码)
1.head表签引用 这两个文件即可 2.复制下面的代码到webform中的head标签中 <script> $(function () { //提示信息 var lang = { &qu ...