curl 模拟请求
https://www.jianshu.com/p/7965c56c5a2e
*********************************************
一般情况下我们会在网页上请求后台接口,但是对于需要进行多次测试的人来说,每一次都要在网页上模拟请求,是存在很大局限性的。因此,我们需要学会模拟请求,以达到跟实际请求一样的效果。
1. curl的用法
curl [options] [params] {网页url}
options = -v 显示详细的请求信息
curl -v www.baidu.com
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}
options = -H增加头部信息
curl -H "Cookie:username=XXX" {URL}
options = -c 存储cookie到文件
curl -d "name=zhangsan&password=123" http://localhost:8080/login -c ./cookie
使用用户名和密码登录系统,并将cookie信息存储在当前目录的cookie文件中
options = -b 携带cookie文件
curl http://localhost:8080/login -b ./cookie
options = --cookie 直接指定cookie
curl --cookie "name=zhangsan" http://localhost:8080/login
curl可以通过-F命令来以Content-Type:multipart/form-data的形式向server post数据,该命令允许提交二进制文件等。可以使用@前缀来制定提交的内容为一个文件,也可以使用<符号来提交文件中的内容
curl -F profile=@portrait.jpg https://example.com/upload.cgi
向服务器上传一个图片,图片的表单域名为profile,内容为protrait.jpg的二进制
curl 模拟请求的更多相关文章
- 转载:curl 模拟请求
一般情况下我们会在网页上请求后台接口,但是对于需要进行多次测试的人来说,每一次都要在网页上模拟请求,是存在很大局限性的.因此,我们需要学会模拟请求,以达到跟实际请求一样的效果. 1. curl的用法 ...
- curl模拟请求常用参数
封装一个curl模拟浏览器请求的函数,如下: /** * curl模拟浏览器请求 * @param unknown $url 请求的地址 * @param array $params 请求地址所需要的 ...
- 通过PHP CURL模拟请求上传文件|图片。
现在有一个需求就是在自己的服务器上传图片到其他服务器上面,过程:客户端上传图片->存放到本地服务器->再转发到第三方服务器; 由于前端Ajax受限制,只能通过服务器做转发了. 在PHP中通 ...
- curl模拟请求
GET请求 <?php //初始化 $curl = curl_init(); //设置抓取的url curl_setopt($curl, CURLOPT_URL, 'http://www.bai ...
- curl 模拟请求get/post
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wx24a0ef ...
- php curl模拟post请求提交数据样例总结
在php中要模拟post请求数据提交我们会使用到curl函数,以下我来给大家举几个curl模拟post请求提交数据样例有须要的朋友可參考參考.注意:curl函数在php中默认是不被支持的,假设须要使用 ...
- php封装curl,模拟POST和GET请求HTTPS请求
<?php /** * @title 封装代理请求 * @author victor **/ class ApiRequest { /** * curl提交数据 * @param String ...
- 【转载】curl 模拟 GET\POST 请求,curl查看响应头 以及 curl post 上传文件
补充说明:curl查看响应头 curl -I "http://www.baidu.com"HTTP/1.1 200 OK #HTTP协议 HTTP 返回码Server: Tengi ...
- php使用curl模拟多线程发送请求
每个PHP文件的执行是单线程的,但是php本身也可以用一些别的技术实现多线程并发比如用php-fpm进程,这里用curl模拟多线程发送请求.php的curl多线程是通过不断调用curl_multi_e ...
随机推荐
- 使用shiro安全管理
之前介绍了springboot使用security进行权限管理,这篇文件介绍一下springboot使用shiro进行安全管理. 简述本文的场景,本文使用springboot1.5.9+mysql+j ...
- XamarinSQLite教程在Xamarin.iOS项目中定位数据库文件
XamarinSQLite教程在Xamarin.iOS项目中定位数据库文件 开发者可以在指定的路径中找到复制的数据库文件,具体的操作步骤如下: (1)单击Mac电脑中Finder菜单中的“前往”|“前 ...
- MySQL连接缓慢,打开缓慢原因
问题状况:最近由于服务器变换了网段,导致IP地址变换,变化后使用MySQL客户端连接MySQL服务器和在客户端中打开表的速度非常慢(无论表的大小),甚至连接超时,但是直接登录到服务器在本地连接MySQ ...
- 秘密袭击 [BZOJ5250] [树形DP]
分析: 听说正解是FFT+线段树合并,然而我并不会... 我们来思考其他的方法. 我们要求的是连通块第k大的和 对于某一个连通块,对答案的贡献=val(Rank.K) 我们不好直接算出每个连通块的Ra ...
- Python内置GUI模块Tkinter的几点笔记
组件属性,用法 组件位置 更多
- 小甲鱼Python第十四课后习题
字符串格式化符号含义 符 号 说 明 %c 格式化字符及其ASCII码[>>> '%c' %97 'a'] %s ...
- 小甲鱼Python第九讲课后习题--010列表
0.列表都可以存放一些什么东西? 可以存放任何的数据类型 1. 向列表增加元素有哪些方法? append()--末尾添加一个元素 extend()--末尾添加多个元素,但要求已列表的格式添加[x,x, ...
- Vue(六)过滤器
1. 简介 用来过滤模型数据,在显示之前进行数据处理和筛选 语法:{{ data | filter1(参数) | filter2(参数)}} 2. 关于内置过滤器 vue1.0中内置许多过滤器,如:c ...
- C#_02.13_基础四_.NET方法
C#_02.13_基础四_.NET方法 一.方法概述: 方法是一块具有名称的代码.可以通过方法进行调用而在别的地方执行,也可以把数据传入方法并接受数据输出. 二.方法的结构: 方法头 AND 方法 ...
- JSP(8)—EL案例和JSTL案例
1.EL案例 el.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" ...