zoukankan      html  css  js  c++  java
  • [linux]使用curl进行GET、POST和网页调试

    以前在win下开发的时候,习惯用的调试工具是谷歌自带控制台和postman,谷歌控制台比较方便,但不能对请求进行重发,post虽然很好用,但是感觉还是有点‘大’。在linux下,其实完全没有那么麻烦,系统自带的curl足够自用。curl是一个向服务器传输数据的工具,它支持http、https、ftp、ftps、scp、sftp、tftp、telnet等协议,这里只针对http进行讲解一些常用的用法,当然还有其他诸如下载的功能参考:https://www.cnblogs.com/wildkid1024/p/10585665.html

    GET请求

    curl默认的请求即为GET请求,对应的参数直接拼接在url中即可。例子:

    curl http://www.baidu.com/s?wd=curl

    上述请求会上百度发起一条查询请求,参数是wd=url

    POST请求

    使用post方式发送请求需要在参数里添加d参数,例子:

    curl -d "name=test&page=1" http://www.baidu.com

    只查看header

    有时候不需要得到网页的具体内容,只需要得到header,对应的参数为I

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

    显示通信过程

    对于需要查看网络状况的情况下,可以添加-v参数来查看整个连接过程。

    更进一步地,如果想看到更详细的信息,使用:
    curl --trace output.txt www.baidu.com

    运行结束后在output.txt里查看具体的连接信息。

    设置头部信息

    对于需要设置头部信息的网页,使用-H参数进行:
    curl -H "Content-Type:application/json" http://example.com
    或者设置header参数
    curl --header "Content-Type:application/json" http://example.com

    Referer字段

    有时你需要在http request头信息中,提供一个referer字段,表示你是从哪里跳转过来的。

    curl --referer http://www.example.com http://www.example.com

    User Agent字段

    这个字段是用来表示客户端的设备信息。服务器有时会根据这个字段,针对不同设备,返回不同格式的网页,比如手机版和桌面版。

    iPhone4的User Agent是

    Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7

    curl可以这样模拟:

    curl --user-agent "[User Agent]" [URL]

    cookies

    对于需要保存cookies的网页:
    curl -c cookiec.txt http://www.linux.com

    对于需要传输cookies的网页:
    curl -b cookiec.txt http://www.linux.com

    自动跳转

    有时候网页是需要跳转的,这时就需要-L参数来设置自动跳转:

    curl -L http://github.com

  • 相关阅读:
    div居中鼠标悬浮显示下拉列表
    javascript循环
    javascript函数
    javascript时间、随机数
    javascript外部使用
    Javascript 探路
    CSS六大选择器(注释css表里不能加注释!!)
    框架链接
    Jmeter分布式测试dubbo接口2
    Jmeter分布式测试dubbo接口1
  • 原文地址:https://www.cnblogs.com/wildkid1024/p/10585838.html
Copyright © 2011-2022 走看看