• cURL工具介绍及简单使用


    curl命令是个功能强大的网络工具,可用来请求 Web 服务器,支持FTP、FTPS、HTTP、HTTPS、SMTP、Telnet、TFTP等协议,底层使用的是 libcurl 库。可用于文件上传、下载,还可以用来模拟客户端请求,抓取网页、网络监控等。

    curl安装

    Windows:

    1. 下载解压:https://curl.haxx.se/download.html
    2. 加入环境变量

    curl -V 查看版本信息:

    Linux:
    yum install curl # CentOS 
    apt-get install curl # Ubuntu
    

    curl常见用法

    • get请求:curl url
    • post请求:curl -d 'xxx' -X POST $url
    • proxy使用:curl -x 'http://127.0.0.1:8080' $url :指定 HTTP 请求通过http://127.0.0.1:8080 代理发出。

    其他参数用法:

    • -H: "Content-type: application/json" 添加 HTTP 请求头 curl -H 'Content-type: application/json' $url
    • -G: 把data数据当成get请求的参数发送,用来构造 URL 的查询字符串,与--data-urlencode结合使用
    • -X:指定 HTTP 请求的方法 curl -X POST $url
    • -d: 发送post请求数据,@file表示来自于文件
    • --data-urlencode:发送post请求数据,会对内容进行url编码
    • -u: username:password用户认证
    • -o: 写文件,将服务器的响应保存成文件
    • -v: verbose,打印更详细日志
    • -s, --silent: 关闭一些提示输出,不输出错误和进度信息。
    • -S:只输出错误信息
    • -k:使用SSL时允许不安全的服务器连接
    • -L:跟随跳转链接

    curl实例

    1、请求 http://www.baidu.com, 将服务器的响应保存为html文件。

    curl -o /tmp/baidu.html http://www.baidu.com
    

    2、curl设置自定义 header 信息

    curl -H 'Content-type: application/json' -H 'Accept-Language:US' -H 'Cookie:ID=1234' -v https://www.baidu.com/
    

    copy as curl

    打开chrome浏览器的开发者工具:

    curl "https://clients5.google.com/pagead/drt/ne?di=^%^5B^%^2220140509-01^%^22^%^2C320^%^2C0^%^2C550^%^5D" ^
      -H "authority: clients5.google.com" ^
      -H "user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36" ^
      -H "x-requested-with: XMLHttpRequest" ^
      -H "accept: */*" ^
      -H "x-client-data: CK21yQEIjrbJAQijtskBCMS2yQEIqZ3KAQiWrMoBCJfCygEIrsLKAQisx8oBCPbHygEI98fKAQi0y8oBCKTNygEIos/KAQjc1coBCMKcywEIxZzLAQjVnMsBGOy4ygE=" ^
      -H "sec-fetch-site: same-origin" ^
      -H "sec-fetch-mode: cors" ^
      -H "sec-fetch-dest: empty" ^
      -H "referer: https://clients5.google.com/pagead/drt/dn/" ^
      -H "accept-language: zh-CN,zh;q=0.9" ^
      -H "cookie: CONSENT=YES+GB.zh-CN+V14+BX; HSID=ApIaHMWrytTvjqMEY; SSID=AygJZayBnP28BxFf8; APISID=UmyTkS9N9ChWmnBG/AiX66wI9xuFNodxDq; SAPISID=2RDZPon8mmYFUeFe/AH2H3UhsBS56EVzlz; __Secure-3PAPISID=2RDZPon8mmYFUeFe/AH2H3UhsBS56EVzlz; SID=3wecPbBT_8ICWEMZ5LIHO8U6mUJK2S89ijFYUnIkyW21xGDb-NBvF2GLkodON3gjyG3pTA.; __Secure-3PSID=3wecPbBT_8ICWEMZ5LIHO8U6mUJK2S89ijFYUnIkyW21xGDbqY5AvmtkqB83SkM4W5Afuw.; NID=204=FqAz385UbUYitAfQlLxpoWdqs1wFoatEH6GwJPuJ4Am0zybAYk_jUN1hCp7sSUxQ9g2XpEJ6pXByvz4z9p9V4dYnFhsSJ48mVJite-Zz1-vhgXewIS3NeK8_rnW6BT0X6dxcKDd5GiG6A3EdN7YuWZXCWVOi_QmARqfLrqzROWzk0u54chsvJOc0MQjKQX3eQUgNM9ATMFDgayrkUu95mRETP5XiqGkL--jPKV49482QfQFjL-oomZ7yzJpzax3h62uOkqP3m0k; 1P_JAR=2020-12-15-13; SIDCC=AJi4QfGElscF8CoJohJbugG-XFh1nPnYTmwvm-mnyMsiq0BVDeYqfb-JgqXBhoGNBTTjYv3hUw; __Secure-3PSIDCC=AJi4QfF2K4Rz5-Sl_Q6p9GM8H-h_4Q43LiFHs9mLuqsP1lYjpNoH7KTpTJDgAIApoafgbq8ZNtc" ^
      --compressed
    
    --THE END--

    欢迎关注公众号:「测试开发小记」及时接收最新技术文章!

  • 相关阅读:
    输入和输出插头
    MCB2300的CTM1050(CAN)
    POJ读书笔记2.1 —— 鸡兔笼带
    Java程序猿的书面采访String3
    JavaScript:undefined And null差异
    设计模式——结构模型
    Qt移动应用开发(六):QML与C++互动
    让我们来谈谈合并排序算法
    安装Eclipse完PyDev插件中没有出现
    汉顺平html5课程分享:6小时制作经典的坦克大战!
  • 原文地址:https://www.cnblogs.com/hiyong/p/14275325.html
Copyright © 2020-2023  润新知