zoukankan      html  css  js  c++  java
  • curl常用命令

    LINUX 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                        进度条显示当前的传送状态
    -v                                                显示详细请求
    -X                                                指定请求方式

    用curl进行认证

    使用curl选项 -u 可以完成HTTP或者FTP的认证,可以指定密码,也可以不指定密码在后续操作中输入密码:

    curl -u user:pwd http://man.linuxde.net
    curl -u user http://man.linuxde.net

    只打印响应头部信息

    通过-I或者-head可以只打印出HTTP头部信息:

    [root@localhost text]# curl -I http://man.linuxde.net
    HTTP/1.1 200 OK
    Server: nginx/1.2.5
    date: Mon, 10 Dec 2012 09:24:34 GMT
    Content-Type: text/html; charset=UTF-8
    Connection: keep-alive
    Vary: Accept-Encoding
    X-Pingback: http://man.linuxde.net/xmlrpc.php

    可以使用curl的内置option:-o(小写)保存网页

    curl -o linux.html http://www.linux.com

    执行完成后会显示如下界面,显示100%则表示保存成功

    % Total    % Received % Xferd  Average Speed  Time    Time    Time  Current
                                    Dload  Upload  Total  Spent    Left  Speed
    100 79684    0 79684    0    0  3437k      0 --:--:-- --:--:-- --:--:-- 7781k

    测试网页返回值

    curl -o /dev/null -s -w %{http_code} www.linux.com

    指定proxy服务器以及其端口

    curl -x 192.168.100.100:1080 http://www.linux.com

    保存http的response里面的cookie信息。内置option:-c(小写)

    curl -c cookiec.txt  http://www.linux.com

    保存http的response里面的header信息。内置option: -D

    curl -D cookied.txt http://www.linux.com

    使用cookie

    curl -b cookiec.txt http://www.linux.com

    -v显示请求详细信息

    curl www.baidu.com -v

    -X显示请求方式

    GET请求

    curl -X GET http://localhost:8080/search?data=123  # -X GET是可选的

    POST请求

    curl -X POST -d"data=123&key=456" http://localhost:8080/search -v 

    由于-d选项为使用POST方式向server发送数据,因此在使用-d的时候,可以省略-X POST。使用-d时,将使用Content-type:application/x-www-form-urlencoded方式发送数据。

    如果想使用JSON形式post数据,可以使用-H指定头部类型

    curl -H "Content-Type:application/json" -d '{"data":"123","key":"456"}' http://localhost:8080/search -v

    -F提交表单操作

    curl可以通过-F命令来以Content-Type:multipart/form-data的形式向server post数据,该命令允许提交二进制文件等。可以使用@前缀来制定提交的内容为一个文件,也可以使用<符号来提交文件中的内容

    curl -F prefile=@portrait.jpg https://example.com/upload.cgi
    
    

    https://blog.csdn.net/danchu/article/details/72290092

    https://www.cnblogs.com/duhuo/p/5695256.html

  • 相关阅读:
    软件工程 团队开发(2)
    软件工程 团队开发(1)
    大道至简阅读笔记01
    小工具集合用户模板和用户场景
    人月神话阅读笔记03
    人月神话阅读笔记02
    本周java学习
    本周学习总结
    本周java 学习进度报告
    《构建之法》读后感
  • 原文地址:https://www.cnblogs.com/ttyypjt/p/10008539.html
Copyright © 2011-2022 走看看