curl 模拟请求

作者: xurna | 来源:发表于2018-06-29 16:52 被阅读3次

    一般情况下我们会在网页上请求后台接口,但是对于需要进行多次测试的人来说,每一次都要在网页上模拟请求,是存在很大局限性的。因此,我们需要学会模拟请求,以达到跟实际请求一样的效果。

    1. curl的用法

    curl [options] [params] {网页url}
    
    1. options = -v 显示详细的请求信息
    curl -v www.baidu.com
    
    1. options = -X 指定请求方式

    GET请求:

    curl -X GET  https://www.baidu.com/
    

    POST请求:

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

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

    curl -d "q=三生三世&type=note&page=1&order_by=default" https://www.jianshu.com/search/do\?q\=%E4%B8%89%E7%94%9F%E4%B8%89%E4%B8%96\&type\=note\&page\=1\&order_by\=default
    

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

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

    如果想在请求的时候带上Cookie,可以这样

    curl -H "Cookie:username=XXX" {URL}
    
    1. options = -H增加头部信息
    curl -H "Cookie:username=XXX" {URL}
    

    4 options = -c 存储cookie到文件

    curl -d "name=zhangsan&password=123" http://localhost:8080/login -c ./cookie
    

    使用用户名和密码登录系统,并将cookie信息存储在当前目录的cookie文件中

    1. options = -b 携带cookie文件
    curl http://localhost:8080/login -b ./cookie
    
    1. options = --cookie 直接指定cookie
    curl --cookie "name=zhangsan" http://localhost:8080/login
    

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

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

    向服务器上传一个图片,图片的表单域名为profile,内容为protrait.jpg的二进制

    相关文章

      网友评论

        本文标题:curl 模拟请求

        本文链接:https://www.haomeiwen.com/subject/ustayftx.html