• 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

  • 相关阅读:
    乔治·奥威尔的六条有效写作的规则
    读书:《个人形成论》 Carl R. Rogers
    想想体制性的生存法则
    每一个山峰都建立在同一座山上
    读书笔记:这些道理没有人告诉过你(二)
    举国的不仅仅是运动员
    参加了一个社会化营销策划比赛整理一下参考资料
    读书:《个人形成论》2 Carl R. Rogers
    前端避坑指南丨辛辛苦苦开发的 APP 竟然被判定为简单网页打包?
    Entify Framework 4.1[问题集] 一个实体的双向依赖引起的错误
  • 原文地址:https://www.cnblogs.com/ttyypjt/p/10008539.html
Copyright © 2020-2023  润新知