get请求与发送post请求,post发送json数据实例

作者: 韦德国际1946手机版  发布:2019-06-02

一.摘要

python3.x上post发送json数据,python3.xjson

一.摘要

做接口自动化测试时,日常须要利用python发送一些json内容的接口报文,假诺利用urlencode对剧情张开编码分析并发送请求,会发觉服务器重返了200,OK的情状,但响应内容不可读(像是一群加密报文)。定位难点时意识抓包开掘发送报文的内容与我们发送的json内容不符(会去掉”{“与”}“等剧情),所以重复利用了json封装后,难点一蹴即至。

二.解决办法

1.开始入json模块,选取json.dumps将json内容开始展览包装

eg:
import json
str = json.dumps({'userid':'381fccbd776c4deb'})

二.调用这些内容并发送http请求

eg:

import http.client,urllib.parse
import json

str = json.dumps({'userid':'381fccbd776c4deb'})
print(str)

#下面注释部分这样做是不行的
#pararms = urllib.parse.urlencode({'userid':'381fccbd776c4deb'}).encode(encoding='UTF8')
headers = {"Content-type": "application/x-www-form-urlencoded","Accept": "text/plain"}
conn = http.client.HTTPConnection("10.3.93.216",8080)
conn.request('POST', '/ippinte/api/scene/getall', str, headers)
response = conn.getresponse()
print(response.status, response.reason)
data = response.read().decode('utf-8')
print(data)
conn.close()

get请求与发送post请求,post发送json数据实例。附未作json封装时的结果图片与包装成功后的结果图片:

未作json封装时的结果图片

图片 1

打包成功后的结果图片

图片 2

1.摘要 做接口自动化测试时,平日要求选用python发送一些json内容的接口报文,假如使用urlencode对内容...

1.python get请求

例1

做接口自动化测试时,常常要求利用python发送一些json内容的接口报文,如若利用urlencode对剧情打开编码深入分析并发送请求,会发觉服务器重回了200,OK的景况,但响应内容不可读(像是一批加秘密报告文)。定位难题时意识抓包开采发送报文的开始和结果与我们发送的json内容不符(会去掉”{“与”}“等剧情),所以重复行使了json封装后,难点化解。

importsys#for sys.argv

 代码如下

2.化解办法

importurllib.request

$data = array("name" => "Hagrid", "age" => "36");                                                                   
$data_string = json_encode($data);                                                                                  
 
$ch = curl_init('');                                                                     
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");                                                                    
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);                                                                 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                                                                     
curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                         
    'Content-Type: application/json',                                                                               
    'Content-Length: ' . strlen($data_string))                                                                      
);                                                                                                                  
 
$result = curl_exec($ch);

一.初步入json模块,采取json.dumps将json内容举行打包

print(requests.get(')

例2

本文由韦德国际1946发布于韦德国际1946手机版,转载请注明出处:get请求与发送post请求,post发送json数据实例

关键词: 日记本