作为一名后端程序员,在服务器调试的过程中,使用
curl
命令为我们调试接口带来了很多的方便,极大地提高了效率;
如下可以实现
Get
请求:
curl 'http://baidu.com/userInfo?userId=123&token=iaotjadfaoijtj'
可以实现Post
请求:
curl http://baidu.com/userInfo -d '{"userId": 123, "token": "iaotjadfaoijtj"}' -H 'Content-type: application/json'
以上的方式对单个接口测试很方便,但是如果是对多个接口进行压力测试呢?这时就需要用到脚本语言啦,比如Python
,那怎么将我们熟悉的curl
转为Python
脚本呢?
https://curlconverter.com/
网站的主页:
![在这里插入图片描述](https://img-blog.csdnimg.cn/64093f6cda084ea2811e1129a090e2e4.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQ29kZUphbWVz,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
如图所示,输入curl command
就自动转为Python
语言啦!
Get
转换如图:
![在这里插入图片描述](https://img-blog.csdnimg.cn/9430fe44dcb64be0aa0b8663e1220b5d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQ29kZUphbWVz,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
curl 'http://baidu.com/userInfo?userId=123&token=iaotjadfaoijtj'
Python
import requests
params = (
('userId', '123'),
('token', 'iaotjadfaoijtj'),
response = requests.get('http://baidu.com/userInfo', params=params)
curl http://baidu.com/userInfo -d '{"userId": 123, "token": "iaotjadfaoijtj"}' -H 'Content-type: application/json'
Python
import requests
headers = {
'Content-type': 'application/json',
data = '{"userId": 123, "token": "iaotjadfaoijtj"}'
response = requests.post('http://baidu.com/userInfo', headers=headers, data=data)
综上就实现了转换。
如果你想使用Python
实现接口的压力测试可以阅读:
如何利用Python对服务器的接口进行压力测试
如果你想使用Python
实现Excel
读入和存储可以阅读:
如何用Python实现Excel数据的读取和写入
有用,求个赞咯!
作为一名后端程序员,在服务器调试的过程中,使用`curl`命令为我们调试接口带来了很多的方便,极大地提高了效率;以上的方式对单个接口测试很方便,但是如果是对多个接口进行压力测试呢?这时就需要用到脚本语言啦,比如`Python`,那怎么将我们熟悉的`curl`转为`Python`脚本呢?
curl2py
简单的Python脚本可将curl命令转换为名为“ curl.py”的Python脚本。 目前功能有限。
用法:python3 curl2py.py [-r,-raw]'单引号中的curl命令'
[-r,-raw]-以原始格式输出输出,而不是json pretty print的默认选项
1.curl是什么
curlconverter :curlconvertertranspilescurlcommands into programs in other programming languages.
地址:Convert curl commands to code,可以利用该工具将网站内的信息转成python可用格式
2.curl使用步骤
1.在网页内打开【检查】,选择【网络】
2.在ALL 中选择DOC,用 预览,确定是目标网页,适当刷新页面
3.对目标DOC进行C...
'Content-Type' : 'application/x-www-form-urlencoded' ,
fullurl = 'https://api.example.com/surprise'
data = 'sample data'
url = 'https://api.example.com/surprise'
requests . get ( url = url , headers =
在Linux上有个常用的命令 curl(非常好用),支持curl的就是大名鼎鼎的libcurl库;libcurl是功能强大的,而且是非常高效的函数库。libcurl除了提供本身的C API之外,还有多达40种编程语言的Binding,这里介绍的PycURL就是libcurl的Python binding。在Python中对网页进行GET/POST等请求,当需要考虑高性能的时候,libcurl是非常不错的选择,一般来说会比liburl、liburl2快不少,可能也会比Requests的效率更高。特别是使用PycURL的多并发请求时,更是效率很高的。个人感觉,其唯一的缺点是,由于是直接调用的是li
Uncurl-将curl请求转换为python请求
Uncurl是一个库,允许您将curl请求转换为使用python代码。 由于Chrome网络检查器具有漂亮的“复制为cURL”,因此该工具对于用python重新创建浏览器请求很有用。
当您不向uncurl传递任何参数时,它将使用剪贴板中的任何内容作为curl命令。
$ uncurl " curl 'https://pypi.python.org/pypi/uncurl' -H 'Accept-Encoding: gzip,deflate,sdch' -H 'Accept-Language: en-US,en;q=0.8' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko)
后端给的接口样式:
curl “http://65.33.44.43:509/pre/update” -H “Content-Type: text/json” -d ‘{“TYPE”:”PRE-FILTER_UPDATE”, “DATA”:[{“SN”:”1E3006CEBFE00″, “MODEL”:”HG0PG”}]}’ -0 -v
python模拟实现:
最开始相同requests直接post请求算了,实时证明它并不行,然后换了一种方法才可以
import http.client,
curl -X GET 'http://ip:port/br01_main_poi_55000043_1585561751000/prod/1110843103457050631'
"_index":"br01_main_poi_xxxx",
"_type":"xxx",
"_id":"111xxxxxx7050631",
"_version":2,
"found":true,
"_source":{