Linux curl命令参数详解
Linuxcurl命令参数详解
Linuxcurl是通过url语法在命令行下上传或下载文件的工具软件,它支持
http,https,ftp,ftps,telnet等多种协议,常被用来抓取网页和监控Web服务
器状态。
1.linuxcurl
抓取网页
:
抓取百度:
curlhttp://www.baidu.com
如发现乱码,可以使用iconv转码:
curlhttp://tech.cxzzl.com.cn/ic.asp|iconv-fgb2312
2.Linuxcurl
使用代理:
linuxcurl使用http代理抓取页面:
linuxcurl使用http代理抓取页面:
curl-x111.95.243.36:80http://tech.cxzzl.com.cn/ic.asp|iconv-fgb2312
curl-x111.95.243.36:80-Uaiezu:passwordhttp://www.baidu.com
使用socks代理抓取页面:
curl--socks4202.113.65.229:443http://tech.cxzzl.com.cn/ic.asp|iconv
-fgb2312
curl--socks5202.113.65.229:443http://tech.cxzzl.com.cn/ic.asp|iconv
-fgb2312
代理服务器地址可以从看爬虫代理上获取。
3.
linuxcurl处理cookies
接收cookies:
curl-c/tmp/cookieshttp://www.baidu.com#cookies保存到/tmp/cookies
文件
发送cookies:
curl-b"key1=val1;key2=val2;"http://www.baidu.com#发送cookies文本
curl-b/tmp/cookieshttp://www.baidu.com#从文件中读取cookies
4.linuxcurl发送数据:
linuxcurlget方式提交数据:
curl-G-d"name=value&name2=value2"http://www.baidu.com
linuxcurlpost方式提交数据:
curl-d"name=value&name2=value2"http://www.baidu.com#post数据
curl-da=b&c=d&txt@/tmp/txthttp://www.baidu.com#post文件
以表单的方式上传文件:
curl-Ffile=@/tmp/me.txthttp://tech.cxzzl.com.cn
相当于设置form表单的method=”POST”和enctype=’multipart/form-data’
两个属性。
5.linuxcurlhttpheader处理:
设置http请求头信息:
curl-A"Mozilla/5.0Firefox/21.0"http://www.baidu.com#设置http请求
头User-Agent
curl-e"http://pachong.org/"http://www.baidu.com#设置http请求头
Referer
curl-H"Connection:keep-alive\nUser-Agent:Mozilla/5.0"
http://tech.cxzzl.com.cn
设置http响应头处理:
curl-Ihttp://tech.cxzzl.com.cn#仅仅返回header
curl-D/tmp/headerhttp://tech.cxzzl.com.cn#将httpheader保存到
/tmp/header文件
6.linuxcurl
认证:
curl-uaiezu:passwordhttp://tech.cxzzl.com.cn#用户名密码认证
curl-Emycert.pemhttps://www.baidu.com#采用证书认证
7、其它
curl-#http://www.baidu.com#以“#”号输出进度条
curl-o/tmp/aiezuhttp://www.baidu.com#保存http响应到/tmp/cxzzl
curl命令 参数
curl命令参数标题:使用curl命令获取网页内容的实用技巧在日常工作和学习中,我们经常需要获取一些网页的内容,并进行进一步的处理。
通过curl命令,我们可以轻松地实现这个目标。
本文将介绍一些使用curl命令获取网页内容的实用技巧,帮助读者更好地利用这个强大的工具。
一、基本用法1. 获取网页内容我们可以使用curl命令来获取指定网页的内容。
例如,要获取一个网页的内容,只需在终端中输入以下命令:```curl [网页地址]```这样,curl就会返回该网页的内容。
通过这种方式,我们可以快速获取所需的网页内容。
2. 保存网页内容如果我们想将网页内容保存到本地文件中,可以使用以下命令:```curl [网页地址] -o [保存路径]```通过指定保存路径,我们可以将网页内容保存到指定位置,方便日后查看或处理。
二、进阶技巧1. 自定义请求头有时,我们需要模拟特定的请求头来获取网页内容。
使用curl命令,我们可以轻松实现这一点。
例如,要添加自定义请求头,只需在命令中使用-H参数,如下所示:```curl -H "User-Agent: Mozilla/5.0" [网页地址]```通过自定义请求头,我们可以模拟各种浏览器、设备或操作系统的请求,以获取不同版本的网页内容。
2. 设置超时时间有时,访问某些网页可能会花费较长时间。
为了避免长时间等待,我们可以使用-c参数设置curl命令的超时时间,如下所示:```curl -c [超时时间] [网页地址]```通过设置超时时间,我们可以控制curl命令在等待网页响应时的时间长度,提高效率。
三、实用案例1. 获取网页标题有时,我们只需要获取网页的标题信息。
通过curl命令,我们可以轻松实现这一目标。
例如,要获取网页的标题,只需使用以下命令:```curl [网页地址] | grep -o "<title>.*</title>" | sed -e "s/<[^>]*>//g"```这样,curl命令会返回网页的标题信息,帮助我们快速了解网页内容。
curl 中文参数
curl 中文参数一、背景在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。
它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。
二、常用参数-A/--user-agent <string> 设置用户代理发送给服务器-b/--cookie <name=string/file> cookie字符串或文件读取位置-c/--cookie-jar <file> 操作结束后把cookie写入到这个文件中-C/--continue-at <offset> 断点续转-D/--dump-header <file> 把header信息写入到该文件中-e/--referer 来源网址-f/--fail 连接失败时不显示http错误-o/--output 把输出写到该文件中-O/--remote-name 把输出写到该文件中,保留远程文件的文件名-r/--range <range> 检索来自HTTP/1.1或FTP服务器字节范围-s/--silent 静音模式。
不输出任何东西-T/--upload-file <file> 上传文件-u/--user <user[:password]> 设置服务器的用户和密码-w/--write-out [format] 什么输出完成后-x/--proxy <host[:port]> 在给定的端口上使用HTTP代理-#/--progress-bar 进度条显示当前的传送状态三、不常用参数-a/--append 上传文件时,附加到目标文件--anyauth 可以使用“任何”身份验证方法--basic 使用HTTP基本验证-B/--use-ascii 使用ASCII文本传输-d/--data <data> HTTP POST方式传送数据--data-ascii <data> 以ascii的方式post数据--data-binary <data> 以二进制的方式post数据--negotiate 使用HTTP身份验证--digest 使用数字身份验证--disable-eprt 禁止使用EPRT或LPRT--disable-epsv 禁止使用EPSV--egd-file <file> 为随机数据(SSL)设置EGD socket路径--tcp-nodelay 使用TCP_NODELAY选项-E/--cert <cert[:passwd]> 客户端证书文件和密码(SSL)--cert-type <type> 证书文件类型(DER/PEM/ENG) (SSL)--key <key> 私钥文件名(SSL)--key-type <type> 私钥文件类型(DER/PEM/ENG) (SSL)--pass <pass> 私钥密码(SSL)--engine <eng> 加密引擎使用(SSL). "--engine list" for list --cacert <file> CA证书(SSL)--capath <directory> CA目(made using c_rehash) to verify peer against (SSL)--ciphers <list> SSL密码--compressed 要求返回是压缩的形势(using deflate or gzip)--connect-timeout <seconds> 设置最大请求时间--create-dirs 建立本地目录的目录层次结构--crlf 上传是把LF转变成CRLF--ftp-create-dirs 如果远程目录不存在,创建远程目录--ftp-method [multicwd/nocwd/singlecwd] 控制CWD的使用--ftp-pasv 使用PASV/EPSV 代替端口--ftp-skip-pasv-ip 使用PASV的时候,忽略该IP地址--ftp-ssl 尝试用SSL/TLS 来进行ftp数据传输--ftp-ssl-reqd 要求用SSL/TLS 来进行ftp数据传输-F/--form <name=content> 模拟http表单提交数据-form-string <name=string> 模拟http表单提交数据-g/--globoff 禁用网址序列和范围使用{}和[]-G/--get 以get的方式来发送数据-h/--help 帮助-H/--header <line> 自定义头信息传递给服务器--ignore-content-length 忽略的HTTP头信息的长度-i/--include 输出时包括protocol头信息-I/--head 只显示文档信息-j/--junk-session-cookies 读取文件时忽略session cookie--interface <interface> 使用指定网络接口/地址--krb4 <level> 使用指定安全级别的krb4-k/--insecure 允许不使用证书到SSL站点-K/--config 指定的配置文件读取-l/--list-only 列出ftp目录下的文件名称--limit-rate <rate> 设置传输速度--local-port<NUM> 强制使用本地端口号-m/--max-time <seconds> 设置最大传输时间--max-redirs <num> 设置最大读取的目录数--max-filesize <bytes> 设置最大下载的文件总量-M/--manual 显示全手动-n/--netrc 从netrc文件中读取用户名和密码--netrc-optional 使用.netrc 或者URL来覆盖-n--ntlm 使用HTTP NTLM 身份验证-N/--no-buffer 禁用缓冲输出-p/--proxytunnel 使用HTTP代理--proxy-anyauth 选择任一代理身份验证方法--proxy-basic 在代理上使用基本身份验证--proxy-digest 在代理上使用数字身份验证--proxy-ntlm 在代理上使用ntlm身份验证-P/--ftp-port <address> 使用端口地址,而不是使用PASV-Q/--quote <cmd> 文件传输前,发送命令到服务器--range-file 读取(SSL)的随机文件-R/--remote-time 在本地生成文件时,保留远程文件时间--retry <num> 传输出现问题时,重试的次数--retry-delay <seconds> 传输出现问题时,设置重试间隔时间--retry-max-time <seconds> 传输出现问题时,设置最大重试时间-S/--show-error 显示错误--socks4 <host[:port]> 用socks4代理给定主机和端口--socks5 <host[:port]> 用socks5代理给定主机和端口-t/--telnet-option <OPT=val> Telnet选项设置--trace <file> 对指定文件进行debug--trace-ascii <file> Like --跟踪但没有hex输出--trace-time 跟踪/详细输出时,添加时间戳--url <URL> Spet URL to work with-U/--proxy-user <user[:password]> 设置代理用户名和密码-V/--version 显示版本信息-X/--request <command> 指定什么命令-y/--speed-time 放弃限速所要的时间。
curl 常用参数
curl 常用参数curl是一个开源命令行工具,它支持通过URL进行数据传输,支持众多协议,如HTTP、FTP、SMTP、POP3等。
它可以用来获取、上传、下载文件,支持各种身份验证方式,可以发送各种类型的数据,比如表单数据、JSON数据、XML数据等。
下面是常用的curl参数中文解释:1. -X/--request: 指定HTTP请求方式,如GET、POST、PUT、DELETE等。
2. -H/--header: 添加HTTP头信息,如Content-Type、Authorization等。
3. -d/--data: 指定HTTP请求体的内容,比如POST请求中的表单数据、JSON数据等。
4. -u/--user: 指定身份验证信息,格式为username:password。
5. -s/--silent: 不显示curl的进度信息,仅显示HTTP响应信息。
6. -o/--output: 将HTTP响应内容写入到指定文件中。
7. -L/--location: 支持HTTP重定向,在重定向时自动跟随并重新发送请求。
8. -c/--cookie: 指定cookie文件,用于保存服务端返回的cookie信息,并在后续请求中带上这些cookie。
11. --insecure: 跳过SSL证书验证并连接。
12. --max-time: 指定连接的最长时间,超过时间则终止连接。
13. -v/--verbose: 显示更详细的信息,包括HTTP请求的头信息和请求体。
14. --form: 指定POST请求中的表单数据,支持文件上传。
16. --data-urlencode: 对HTTP请求体中的数据进行URL编码。
17. --user-agent: 指定HTTP请求头中的User-Agent字段。
20. --retry: 发生连接错误时的重试次数。
curl常用参数
curl常用参数CURL常用参数详解CURL是一个强大的命令行工具,用于在终端中进行网络请求和传输数据。
它支持多种协议,如HTTP、FTP、SMTP等,并提供了丰富的参数选项,让我们可以根据不同的需求进行定制化的网络请求。
本文将详细介绍CURL常用参数及其用法。
1. -X/--request该参数用于指定HTTP请求的方法,常见的有GET、POST、PUT、DELETE等。
例如,使用-X GET可以发送一个GET请求,使用-X POST可以发送一个POST请求。
2. -H/--header该参数用于设置HTTP请求头,可以在请求中添加自定义的头信息。
例如,使用-H "Content-Type: application/json"可以设置请求的Content-Type为JSON格式。
3. -d/--data该参数用于设置HTTP请求的数据体,常用于发送POST请求时传递表单数据或JSON数据。
例如,使用-d "username=admin&password=123456"可以发送一个包含用户名和密码的表单数据。
4. -i/--include该参数用于在输出结果中包含HTTP响应头信息。
通常用于查看响应的详细信息,如状态码、响应时间等。
5. -o/--output该参数用于将HTTP响应结果保存到指定的文件中。
例如,使用-o result.txt可以将响应结果保存到result.txt文件中。
6. -c/--cookie该参数用于设置HTTP请求的Cookie信息。
例如,使用-c "sessionid=123456"可以在请求中设置一个名为sessionid的Cookie。
7. -u/--user该参数用于指定HTTP请求的用户名和密码,用于进行身份验证。
例如,使用-u "admin:123456"可以在请求中添加用户名和密码。
curl常用命令及参数
curl常用命令及参数curl是一个功能强大的命令行工具,用于与服务器进行数据交互。
以下是一些curl的常用命令和参数:GET请求:使用curl发送GET请求获取数据。
csscurl [URL]POST请求:使用curl发送POST请求提交数据。
mathematicaCopy codecurl -X POST -d "data" [URL]自定义请求方法:使用curl发送除GET和POST之外的其他HTTP请求方法,如PUT、DELETE 等。
csscurl -X [METHOD] [URL]请求头:指定请求头信息。
mathematicacurl -H "HeaderName: HeaderValue" [URL]输出响应头信息:打印服务器响应中的头信息。
csscurl -I [URL]输出响应体信息:打印服务器响应中的主体信息。
csscurl -i [URL]保存响应数据到文件:将服务器响应保存到指定的文件中。
csscurl -o [filename] [URL]发送表单数据:使用curl发送表单数据。
mathematicacurl -F "key1=value1" -F "key2=value2" [URL]设置超时时间:设置请求的超时时间(单位为秒)。
csscurl --connect-timeout [timeout] [URL]跟随重定向:自动跟随HTTP重定向。
csscurl -L [URL]以上是一些curl的常用命令和参数,可以根据具体的需求选择适合的命令和参数进行使用。
curl命令参数详解
curl命令参数详解curl命令是⼀个利⽤URL规则在命令⾏下⼯作的⽂件传输⼯具。
它⽀持⽂件的上传和下载,所以是综合传输⼯具,但按传统,习惯称curl为下载⼯具。
作为⼀款强⼒⼯具,curl⽀持包括HTTP、HTTPS、等众多协议,还⽀持POST、cookies、认证、从指定偏移处下载部分⽂件、⽤户代理字符串、限速、⽂件⼤⼩、进度条等特征。
做⽹页处理流程和数据检索⾃动化,curl可以祝⼀臂之⼒。
语法curl(选项)(参数)选项-a/--append上传⽂件时,附加到⽬标⽂件-A/--user-agent <string>设置⽤户代理发送给服务器-anyauth可以使⽤“任何”⾝份验证⽅法-b/--cookie <name=string/>cookie字符串或⽂件读取位置--basic使⽤HTTP基本验证-B/--use-ascii使⽤ASCII /⽂本传输-c/--cookie-jar <file>操作结束后把cookie写⼊到这个⽂件中-C/--continue- <offset>断点续转-d/--data <data>HTTP POST⽅式传送数据--data-ascii <data>以ascii的⽅式post数据--data-binary <data>以⼆进制的⽅式post数据--negotiate使⽤HTTP⾝份验证--digest使⽤数字⾝份验证--disable-eprt禁⽌使⽤EPRT或LPRT--disable-epsv禁⽌使⽤EPSV-D/---header <file>把header信息写⼊到该⽂件中--egd-file <file>为随机数据(SSL)设置EGD socket路径--tcp-nodelay使⽤TCP_NODELAY选项-e/--referer来源⽹址-E/--cert <cert[:]>客户端证书⽂件和密码 (SSL)--cert- <type>证书⽂件类型 (DER/PEM/ENG) (SSL)--key <key>私钥⽂件名 (SSL)--key-type <type>私钥⽂件类型 (DER/PEM/ENG) (SSL)--pass <pass>私钥密码 (SSL)--engine <eng>加密引擎使⽤ (SSL). "--engine list" for list--cacert <file>CA证书 (SSL)--capath <directory>CA⽬录 (made using c_rehash) to verify peer against (SSL)--ciphers <list>SSL密码--compressed要求返回是压缩的形势 (using deflate or )--connect-timeout <seconds>设置最⼤请求时间--create-建⽴本地⽬录的⽬录层次结构--crlf上传是把LF转变成CRLF--crlf上传是把LF转变成CRLF-f/--fail连接失败时不显⽰http错误--ftp-create-dirs如果远程⽬录不存在,创建远程⽬录--ftp-method [multicwd/nocwd/singlecwd]控制CWD的使⽤--ftp-pasv使⽤ PASV/EPSV 代替端⼝--ftp-skip-pasv-使⽤PASV的时候,忽略该IP地址--ftp-ssl尝试⽤ SSL/TLS 来进⾏ftp数据传输--ftp-ssl-reqd要求⽤ SSL/TLS 来进⾏ftp数据传输-F/--form <name=content>模拟http表单提交数据--form-string <name=string>模拟http表单提交数据-g/--globoff禁⽤⽹址序列和范围使⽤{}和[]-G/--get以get的⽅式来发送数据-H/--header <line>⾃定义头信息传递给服务器--ignore-content-length忽略的HTTP头信息的长度-i/--include输出时包括protocol头信息-I/--只显⽰请求头信息-j/--junk-session-cookies读取⽂件进忽略session cookie--interface <interface>使⽤指定⽹络接⼝/地址--krb4 <level>使⽤指定安全级别的krb4-k/--insecure允许不使⽤证书到SSL站点-K/--config指定的配置⽂件读取-l/--list-only列出ftp⽬录下的⽂件名称--limit-rate <rate>设置传输速度--local-port<NUM>强制使⽤本地端⼝号-m/--max- <seconds>设置最⼤传输时间--max-redirs <num>设置最⼤读取的⽬录数--max-filesize <bytes>设置最⼤下载的⽂件总量-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 <address>使⽤端⼝地址,⽽不是使⽤PASV-q作为第⼀个参数,关闭 .curlrc-Q/--quote <cmd>⽂件传输前,发送命令到服务器-r/--range <range>检索来⾃HTTP/1.1或FTP服务器字节范围--range-file读取(SSL)的随机⽂件-R/--remote-time在本地⽣成⽂件时,保留远程⽂件时间--retry <num>传输出现问题时,重试的次数--retry-delay <seconds>传输出现问题时,设置重试间隔时间--retry-max-time <seconds>传输出现问题时,设置最⼤重试时间-s/--silent静默模式。
curl命令详解
curl命令详解curl是一个强大的、支持多种协议的命令行工具,它可以用于调试和控制网络应用程序,包括HTTP、HTTPS、FTP、LDAP等网络协议。
curl支持数据上传和编码,并能够处理HTTP、HTTPS、FTP、LDAP 等协议,这使得它更加适合测试或者调试一些网页应用程序。
curl支持丰富的命令行选项,可以让用户控制它们的行为。
用户可以使用这些选项来指定要抓取的地址或者指定要抓取的文件名,或者指定要发送的cookies,或者指定要发送的头部信息。
用户还可以使用这些选项来指定要使用的安全协议或者指定要执行的脚本。
在Linux系统中,curl是一个标准的命令行工具,它可以在大多数的发行版中找到。
curl的使用语法很简单,如下所示:curl [options] [url]其中,[options]是指定一个或者多个要使用的选项,[url]是指定要抓取或者发送的URL。
curl支持许多选项,下面我们来介绍一些常用的选项:-v/--verbose:用于显示curl命令的执行过程。
-O/--output:用于指定输出文件,可以保存返回的数据。
-d/--data:用于指定要发送的数据,支持GET和POST请求。
-u/--user:用于指定HTTP基本认证的用户名和密码。
-I/--head:只显示响应头,而不显示响应的内容。
-L/--location:允许自动跟随重定向,可以请求重定向的URL。
-H/--header:用于指定响应头,可以发送特定的请求头。
-A/--user-agent:用于指定用户代理,可以模拟不同的操作系统、浏览器。
curl命令还有许多其它的选项,这里只介绍了一些常用的选项,用户可以参考官方文档查看更多的选项详情。
curl是一个强大的、支持多种协议的命令行工具,使用它可以轻松地测试和调试应用程序,它拥有丰富的命令行选项,可以让用户更精细地控制它的行为。
curl支持多种协议,它可以抓取和发送各种格式的数据,并支持许多种功能,如自动跟随重定向、发送特定请求头、发送cookies等。
linux curl 结果
linux curl 结果
Linuxcurl是一种网络传输工具,可以通过命令行发送 HTTP 请求并获取响应。
curl 通常用于测试 API 接口、下载文件等。
当执行curl 命令时,Linux curl 会返回 HTTP 响应的各种信息,包括状态码、响应头和响应正文等。
状态码是指服务器返回的 HTTP 状态码,常见的状态码有 200(OK)、404(Not Found)和 500(Internal Server Error)等。
响应头包含了 HTTP 响应的元信息,例如服务器类型、内容类型、响应时间等。
响应正文则是服务器返回的实际数据,可以是 HTML、JSON、XML 等格式的内容。
在使用 Linux curl 进行网络请求时,可以指定请求方式、请求头、请求体等参数。
例如,使用 -X 参数指定请求方法,使用 -H 参数指定请求头,使用 -d 参数指定请求体等。
此外,还可以设置代理、超时时间、重试次数等参数进行更高级的网络请求操作。
总之,Linux curl 是一个功能强大的网络传输工具,可以帮助开发者更方便地进行 API 测试和文件下载等操作,并提供了丰富的参数选项以满足不同的网络请求需求。
- 1 -。
curl 参数详解
curl 参数详解
Curl是一个非常流行的命令行工具,可以用于发送HTTP请求并
获取响应。
使用Curl可以方便地测试API接口、抓取网页等。
在Curl 中,有很多参数可以控制请求的行为,以下是一些常用参数的详细解释。
1. -X:指定请求方法,如GET、POST、PUT、DELETE等。
2. -H:指定请求头,可以多次使用此参数来添加多个请求头。
3. -d:指定请求体,主要用于POST请求中发送数据。
4. -i:显示响应头信息。
5. -o:将响应体输出到指定文件。
6. -s:静默模式,不显示进度信息。
7. -u:指定用户名和密码,用于HTTP基本认证。
8. -F:上传文件,可用于模拟文件上传接口。
9. -e:指定Referer头,用于伪造来源。
10. --cacert:指定CA证书,用于SSL证书校验。
这些参数对于控制请求行为非常有用。
Curl还支持很多其他参数,如Cookie、代理、重定向等,可以根据需要进行控制。
需要注意的是,Curl默认使用的是HTTP/1.1协议,如果需要使用HTTPS协议,还需要开启SSL支持。
总之,Curl是一款功能强大的工具,掌握了它的参数使用方法,可以极大地提升API测试和网页爬取的效率。
Linux工具之curl与wget高级使用
Linux工具之curl与wget高级使用1、curl(文件传输工具)常用参数如下:-c,--cookie-jar:将cookie写入到文件-b,--cookie:从文件中读取cookie-C,--continue-at:断点续传-d,--data:http post方式传送数据-D,--dump-header:把header信息写入到文件-F,--from:模拟http表达提交数据-s,--slient:减少输出信息-o,--output:将信息输出到文件-O,--remote-name:按照服务器上的文件名,存在本地--l,--head:仅返回头部信息-u,--user[user:pass]:设置http认证用户和密码-T,--upload-file:上传文件-e,--referer:指定引用地址-x,--proxy:指定代理服务器地址和端口-w,--write-out:输出指定格式内容--retry:重试次数--connect-timeout:指定尝试连接的最大时间/s使用示例:例1:抓取页面到指定文件,如果有乱码可以使用iconv转码# curl -o baidu.html # curl –s –o baidu.html |iconv -f utf-8 #减少输出信息例2:模拟浏览器头(user-agent)# curl -A "Mozilla/4.0 (compatible;MSIE 6.0; Windows NT 5.0)" 例3:处理重定向页面# curl –L http://192.168.1.100/301.php #默认curl是不处理重定向例4:模拟用户登陆,保存cookie信息到cookies.txt文件,再使用cookie登陆# curl -c ./cookies.txt -F NAME=user -F PWD=***URL #NAME和PWD是表单属性不同,每个网站基本都不同# curl -b ./cookies.txt –o URL例5:获取HTTP响应头headers# curl -I # curl -D ./header.txt #将headers保存到文件中例6:访问HTTP认证页面# curl –u user:pass URL例7:通过ftp上传和下载文件# curl -T filename ftp://user:pass@ip/docs #上传# curl -O ftp://user:pass@ip/filename #下载博客:2、wget(文件下载工具)常用参数如下:2.1 启动参数-V,--version:显示版本号-h,--help:查看帮助-b,--background:启动后转入后台执行2.2 日志记录和输入文件参数-o,--output-file=file:把记录写到file文件中-a,--append-output=file:把记录追加到file文件中-i,--input-file=file:从file读取url来下载2.3 下载参数-bind-address=address:指定本地使用地址-t,-tries=number:设置最大尝试连接次数-c,-continue:接着下载没有下载完的文件-O,-output-document=file:将下载内容写入到file文件中-spider:不下载文件-T,-timeout=sec:设置响应超时时间-w,-wait=sec:两次尝试之间间隔时间--limit-rate=rate:限制下载速率-progress=type:设置进度条2.4 目录参数-P,-directory-prefix=prefix:将文件保存到指定目录2.5 HTTP参数-http-user=user:设置http用户名-http-passwd=pass:设置http密码-U,--user-agent=agent:伪装代理-no-http-keep-alive:关闭http活动链接,变成永久链接-cookies=off:不使用cookies-load-cookies=file:在开始会话前从file文件加载cookies-save-cookies=file:在会话结束将cookies保存到file文件2.6 FTP参数-passive-ftp:默认值,使用被动模式-active-ftp:使用主动模式2.7 递归下载排除参数-A,--accept=list:分号分割被下载扩展名的列表-R,--reject=list:分号分割不被下载扩展名的列表-D,--domains=list:分号分割被下载域的列表--exclude-domains=list:分号分割不被下载域的列表使用示例:例1:下载单个文件到当前目录下,也可以-P指定下载目录# wget/download/nginx-1.8.0.tar.gz例2:对于网络不稳定的用户可以使用-c和--tries参数,保证下载完成# wget --tries=20 -c /download/nginx-1.8.0.tar.gz例3:下载大的文件时,我们可以放到后台去下载,这时会生成wget-log文件来保存下载进度# wget -b /download/nginx-1.8.0.tar.gz例4:可以利用—spider参数判断网址是否有效# wget --spider /download/nginx-1.8.0.tar.gz例5:自动从多个链接下载文件# cat url_list.txt #先创建一个URL文件/download/nginx-1.8.0.tar.gz/download/nginx-1.6.3.tar.gz# wget -i url_list.txt例6:限制下载速度# wget --limit-rate=1m /download/nginx-1.8.0.tar.gz例7:登陆ftp下载文件# wget --ftp-user=user --ftp-password=pass ftp://ip/filename。
