curl 教程 好文章

来源:互联网 发布:gps军用级精度 知乎 编辑:程序博客网 时间:2024/05/16 11:37

 http://www.xuebuyuan.com/799185.html

http://www.lampblog.net/ubuntu/curl%E5%91%BD%E4%BB%A4/



-o  刚浏览的内容写到文里
curl -o /tmp/baidu2.html "http://www.baidu.com"

-s
可以屏蔽进度条之类的输出

-A 用于指定USER-AGENT


curl 指定referer

curl -e "https://www.google.com/" http://localhost/learing-curl/show-server-info.php


curl 默认是以GET方式
curl "http://localhost/learing-curl/post-get.php?name=a&age=13"

curl 指定以POST方式请求
curl -d "name=1&age=3" http://localhost/learing-curl/post-get.php

curl -I http://www.baidu.com

curl 保存Header

curl -D header.txt http://www.alibaba.com

curl 处理重定向

curl -L "http://localhost/learing-curl/301.php"

curl 提交文件

curl -F upload_file=@test.data http://localhost/learing-curl/upload.php

其中upload_file是表单中文件的input名称,test.data是文件路径

提交文件的时候,同时提交其它POST请求,

curl -F upload_file=@test.data -F "name=yangqi" http://localhost/learing-curl/upload.php

-c 将会用标准格式保存cookie

curl -c cookie.txt http://www.alibaba.com

curl -b “name=data” 或者让 curl -b COOKIE.txt 可以带cookie访问页面。


详细参数:

  --anyauth      可以使用“任何”身份验证方法
-a,--append        上传文件时,附加到目标文件  
    --basic        设置用户代理发送给服务器
    --cacertFILE  CA证书(SSL)
    --capathDIR    CA目录(SSL)
-E,--certCERT[:PASSWD]客户端证书文件和密码(SSL)
    --cert-typeTYPE证书文件类型(DER/PEM/ENG)(SSL)
    --ciphersLIST  SSL密码
    --compressed    要求返回是压缩的形势(usingdeflateorgzip)
-K,--configFILE  指定的配置文件读取
    --connect-timeoutSECONDS  设置最大请求时间
-C,--continue-atOFFSET  断点续转
-b,--cookieSTRING/FILE  cookie字符串或文件读取位置
-c,--cookie-jarFILE  操作结束后把cookie写入到这个文件中
    --create-dirs  建立本地目录的目录层次结构
    --crlf          上传是把LF转变成CRLF
    --crlfileFILE  使用PEM格式从指定文件中读取证书列表
-d,--dataDATA    HTTPPOST方式传送数据
    --data-asciiDATA  以ascii的方式post数据
    --data-binaryDATA  以二进制的方式post数据
    --data-urlencodeDATA  HTTPPOSTdataurlencoded(H)
    --delegationSTRING设定用户认证等级标准
    --digest        使用数字身份验证  
    --disable-eprt  禁止使用EPRT或LPRT
    --disable-epsv  禁止使用EPSV
-D,--dump-headerFILE  把header信息写入到该文件中
    --egd-fileFILE  为随机数据(SSL)设置EGDsocket路径
    --engineENGINGE  加密引擎使用(SSL)."--engine list"forlist
-f,--fail          连接失败时不显示http错误
-F,--formCONTENT  模拟http表单提交数据
    --form-stringSTRING  模拟http表单提交数据
    --ftp-accountDATA  设置FTP账号认证信息
    --ftp-alternative-to-userCOMMAND  重新设置ftp认证用户名
    --ftp-create-dirs  如果远程目录不存在,创建远程目录
    --ftp-method[MULTICWD/NOCWD/SINGLECWD]控制CWD的使用
    --ftp-pasv      使用PASV/EPSV代替端口
-P,--ftp-portADR  使用端口地址,而不是使用PASV
    --ftp-skip-pasv-ip使用PASV的时候,忽略该IP地址
    --ftp-pret      在PASV之前发送一个PRET命令
    --ftp-ssl-ccc  用户认证书后发送CCC
    --ftp-ssl-ccc-modeACTIVE/PASSIVE  设置CCC模式
    --ftp-ssl-control使用SSL/TLS方式登陆FTP
-G,--get          以get的方式来发送数据
-g,--globoff      禁用网址序列和范围使用{}和[]
-H,--headerLINE  自定义头信息传递给服务器
-I,--head          只显示文档信息
-h,--help          帮助
    --hostpubmd5MD5  发送md5加密的主机公钥
-0,--http1.0      使用HTTP1.0
    --ignore-content-length  忽略的HTTP头信息的长度
-i,--include      输出时包括protocol头信息
-k,--insecure      允许不使用证书到SSL站点
    --interfaceINTERFACE  指定网络接口/地址使用
-4,--ipv4          使用IP4
-6,--ipv6          使用IP4
-j,--junk-session-cookies读取文件进忽略sessioncookie
    --keepalive-timeSECONDS  设定保持空闲的时间
    --keyKEY      私钥文件名(SSL)
    --key-typeTYPE私钥文件类型(DER/PEM/ENG)(SSL)
    --krbLEVEL    启用与指定的安全级别krb4
    --libcurlFILE  Dumplibcurlequivalentcodeofthiscommandline
    --limit-rateRATE  设置传输速度
-l,--list-only    列出ftp目录下的文件名称
    --local-portRANGE  强制使用本地端口号
-L,--location      跟随URL跳转
    --location-trustedlike--locationandsendauthtootherhosts(H)
-M,--manual        显示全手动
    --mail-fromFROM  Mailfromthisaddress
    --mail-rcptTO  Mailtothisreceiver(s)
    --max-filesize  设置最大下载的文件总量
    --max-redirsNUM  设置最大读取的目录数
-m,--max-timeSECONDS  设置最大传输时间
    --negotiate    使用HTTP身份验证
-n,--netrc        从netrc文件中读取用户名和密码
    --netrc-optional使用.netrc或者URL来覆盖-n
    --netrc-fileFILE  Setupthenetrcfilenametouse
-N,--no-buffer    禁用缓冲输出
    --no-keepalive  Disablekeepaliveuseontheconnection
    --no-sessionid  DisableSSLsession-IDreusing(SSL)
    --noproxy      Listofhostswhichdonotuseproxy
    --ntlm          使用HTTPNTLM身份验证
-o,--outputFILE  把输出写到该文件中
    --passPASS    私钥密码(SSL)
    --post301      DonotswitchtoGETafterfollowinga301redirect(H)
    --post302      DonotswitchtoGETafterfollowinga302redirect(H)
-#, --progress-bar  用进度条显示当前的传送状态
    --protoPROTOCOLS  Enable/disablespecifiedprotocols
    --proto-redirPROTOCOLS  Enable/disablespecifiedprotocolsonredirect
-x,--proxy[PROTOCOL://]HOST[:PORT] 在给定的端口上使用HTTP代理
    --proxy-anyauth选择任一代理身份验证方法
    --proxy-basic  在代理上使用基本身份验证
    --proxy-digest  在代理上使用数字身份验证
    --proxy-negotiateUseNegotiateauthenticationontheproxy(H)
    --proxy-ntlm    在代理上使用ntlm身份验证
-U,--proxy-userUSER[:PASSWORD]  设置代理用户名和密码
    --proxy1.0HOST[:PORT]  UseHTTP/1.0proxyongivenport
-p,--proxytunnel  使用HTTP代理
    --pubkeyKEY    Publickeyfilename(SSH)
-Q,--quoteCMD    文件传输前,发送命令到服务器
    --random-fileFILE  读取(SSL)的随机文件
-r,--rangeRANGE  检索来自HTTP/1.1或FTP服务器字节范围
    --raw          DoHTTP"raw",withoutanytransferdecoding(H)
-e,--referer      来源网址
-J,--remote-header-nameUsetheheader-providedfilename(H)
-O,--remote-name  把输出写到该文件中,保留远程文件的文件名
    --remote-name-allUsetheremotefilenameforallURLs
-R,--remote-time  在本地生成文件时,保留远程文件时间
-X,--requestCOMMAND  指定什么命令
    --resolveHOST:PORT:ADDRESS  ForceresolveofHOST:PORTtoADDRESS
    --retryNUM  传输出现问题时,重试的次数
    --retry-delay传输出现问题时,设置重试间隔时间
    --retry-max-time传输出现问题时,设置最大重试时间
-S,--show-error    显示错误
-s,--silent        静音模式。不输出任何东西
    --socks4HOST[:PORT]  用socks4代理给定主机和端口
    --socks4aHOST[:PORT]  用sock4a代理给定主机和端口
    --socks5HOST[:PORT]  用socks5代理给定主机和端口
    --socks5-hostnameHOST[:PORT]SOCKS5proxy,passhostnametoproxy
    --socks5-gssapi-serviceNAME  SOCKS5proxyservicenameforgssapi
    --socks5-gssapi-nec  CompatibilitywithNECSOCKS5server
-Y,--speed-limitRATE  停止传输速度的限制,速度时间'秒
-y,--speed-timeSECONDS  放弃限速所要的时间。默认为30
    --ssl          TrySSL/TLS(FTP,IMAP,POP3,SMTP)
    --ssl-reqd      RequireSSL/TLS(FTP,IMAP,POP3,SMTP)
-2,--sslv2        使用SSLv2的(SSL)
-3,--sslv3        使用SSLv3的(SSL)
    --stderrFILE  Wheretoredirectstderr.-meansstdout
    --tcp-nodelay  使用TCP_NODELAY选项
-t,--telnet-optionOPT=VAL  Telnet选项设置
    --tftp-blksizeVALUE  SetTFTPBLKSIZEoption(mustbe>512)
-z,--time-condTIME  传送时间设置
-1,--tlsv1        使用TLSv1(SSL)
    --traceFILE    对指定文件进行debug
    --trace-asciiFILE  对指定文件进行debug,跟踪但没有hex输出
    --trace-time    跟踪/详细输出时,添加时间戳
    --tr-encoding  Requestcompressedtransferencoding(H)
-T,--upload-fileFILE  上传文件
    --urlURL      设定请求URL参数
-B,--use-ascii    使用ASCII/文本传输
-u,--userUSER[:PASSWORD]  设置服务器的用户和密码
    --tlsuserUSER  TLSusername
    --tlspasswordSTRINGTLSpassword
    --tlsauthtypeSTRING  TLSauthenticationtype(defaultSRP)
-A,--user-agentSTRING  设定发送给服务器的User-Agent
-v,--verbose      显示详尽的输出
-V,--version      显示版本信息
-w,--write-outFORMAT  什么输出完成后
    --xattr        Storemetadatainextendedfileattributes
-q                Ifusedasthefirstparameterdisables.curlrc




 
0 0
原创粉丝点击