使用curl发送请求

内容分享2个月前发布 许济_
0 0 0

1、使用Chrome开发者工具分析网络请求

使用curl发送请求

2、HTTP协议组成

①target: url protocol host port

②request:

    request:get、post、put、delete、head

    header:host cookie user-agent

    get query

    post body:json xml form

③response:

    status line

    header

    body

使用curl发送请求

3、copy  as curl功能

使用curl发送请求

可以脱离浏览器进行请求

复制后在bash中粘贴,回车

使用curl发送请求

使用curl发送请求

copy as curl的作用

①把浏览器发送的请求真实的还原出来

②附带了认证信息,所以可以脱离浏览器执行

③可以方便开发者重放请求、修改参数调试,编写脚本

4、客户端模拟请求工具

①nc(Navicat) tcp/udp协议发送

②curl最常使用的http请求工具

③postman综合性的http协议测试工具

④代理工具、IDE工具、浏览器插件工具

5、curl常见用法

①url=http://www.baidu.con

②get请求 curl$url

③post请求 curl -d xxx $url    xxx–传递需要发送的字段

④proxy使用 curl -x http://127.0.0.1:8080 $url 

6、curl重大参数

①-H “Content-Tpye:application/json”消息头设置

②-u username:password 用户认证

③-d 要发送的post数据 @file 表明来自于文件

④–data-urlencode page_size=50  对内容进行url编码

⑤-G 把data数据当成get请求的参数发送,常与–data-urlencode结合使用

⑥-o 写文件

⑦-x 代理  http代理  socks5代理

⑧-v verbose 打印更详细日志

⑨-s 关闭一些提示输出

url=http://www.baidu.com

## get请求加json解析

curl -s https://xueqiu.com/stock/search.json?code=sogo&size=3&page=1 -H Connection: keep-alive -H Pragma: no-cache -H Cache-Control: no-cache -H Accept: application/json, text/plain, */* -H Sec-Fetch-Dest: empty -H User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36 -H elastic-apm-traceparent: 00-760301b0a132e9a4c0f5ac7448a3419e-8823be75504fc61f-00 -H Sec-Fetch-Site: same-origin -H Sec-Fetch-Mode: cors -H Referer: https://xueqiu.com/k?q=sogo -H Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7 -H Cookie: device_id=24700f9f1986800ab4fcc880530dd0ed; cookiesu=841584103115161; aliyungf_tc=AQAAAIPytE8aVQoAXhjf3cw3R+j5DD/s; acw_tc=2760824b15851452106833674e25941ad47588d5d7ded79b38a04dad8f9444; xq_a_token=2ee68b782d6ac072e2a24d81406dd950aacaebe3; xqat=2ee68b782d6ac072e2a24d81406dd950aacaebe3; xq_r_token=f9a2c4e43ce1340d624c8b28e3634941c48f1052; xq_id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJ1aWQiOi0xLCJpc3MiOiJ1YyIsImV4cCI6MTU4NzUyMjY2MSwiY3RtIjoxNTg1MTQ1MTYxMDIwLCJjaWQiOiJkOWQwbjRBWnVwIn0.TPrw6_M2Th9QTVz5spwUybqN1790nJANu9kxXl4GfNb1eQ2p2zD43CStgogOGQ8yRXYmSCfURp0343wgjnnCdnQX5698Jl-brdP94wiYKwv11q8QjBYMXFWJGRj0g69C2nxVrRF8K-ETGEked3KjYfk8Xy2wPuZtyGUhORWeCvMhmBdcRKIlWj4d7wp-w_LjMbSLigJAT29F03wBZIxR0r3eMNUhUsXh8dCsWNb6wzhtg8dT4gcd91mQmR5ToR_SFrzQfOopY4vQGcaOHWaAwUMPLUopZwD4ajWzm1kpoBZnf_n_9uBfT4j0nGk95E8J8EmTfBlq-1p019xkhgp87w; u=431585145210698; Hm_lvt_1db88642e346389874251b5a1eded6e3=1583285031,1584102200,1585145180; Hm_lpvt_1db88642e346389874251b5a1eded6e3=1585145192 –compressed | jq

{

  “q”: “sogo”,

  “page”: 1,

  “size”: 3,

  “stocks”: [

    {

      “code”: “SOGO”,

      “name”: “搜狗”,

      “enName”: “”,

      “hasexist”: “false”,

      “flag”: null,

      “type”: 0,

      “stock_id”: 1029472,

      “ind_id”: 0,

      “ind_name”: “通讯业务”,

      “ind_color”: null,

      “_source”: “sc_1:1:sogo”

    }

  ]

}

#post请求

curl http://sonarqube.testing-studio.com:9000/api/authentication/login -H Connection: keep-alive -H Pragma: no-cache -H Cache-Control: no-cache -H Accept: application/json -H User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36 -H Content-Type: application/x-www-form-urlencoded -H Origin: http://sonarqube.testing-studio.com:9000 -H Referer: http://sonarqube.testing-studio.com:9000/sessions/new -H Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7 -H Cookie: _ga=GA1.2.232181868.1566982077; experimentation_subject_id=IjNlYzgxODQ1LTU2MDAtNGIyNy1iNTgzLTE1MzRkY2IwMDI0ZSI%3D–b1f29d33f6a2c85a81be66e4774d437f710c102f; _gid=GA1.2.482544306.1585051015 –data login=admin&password=1234 –compressed –insecure

#百度的一个url提交脚本

curl -H Content-Type:text/plain –data-binary @urls.txt “http://data.zz.baidu.com/urls”

#对参数编码并发送get请求

    curl -G $url 

        –data-urlencode “current=$current”

        –data-urlencode “pageSize=$pageSize”

#认证与put上传都ElasticSearch里

    curl -X PUT “$ES_HOST/$index/_doc/$id?pretty”

        –user username:password

        -H Content-Type: application/json

        -d “$content”

#查看邮箱

curl -s –user $mail_username:$mail_password “imaps://imap.exmail.qq.com/inbox?all”

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
none
暂无评论...