python 字典字符串转字典——urllib.request.Request发送get,post请求,发送json参数
1.eval方法即可【字典字符串转字典】
file_content = eval(file_content)
2.urllib.request.Request发送post请求,发送json参数
from urllib.request import Request, urlopen
import json调用代码片段:
url = 'http://www.abc.1201t.com/api-sss/tdd/woRegulationCreate'header = {'tokenStr': "MTc2OF90b2tlbl8xNTQxNDg5NjA3MzYxLCwsMTU0MTQ4OTYwNzM2MQ==",'Content-Type': 'application/json'}post_data = {"evType": "曳引与强制驱动电梯","groupName": "半月保养(国际)","memo": "hui","count": "31/31","regullations":[{"name": "清洁","desc": "机房清洁","state": "1"}]}# post_data = urlencode(post_data).encode('utf-8')req = Request(url=url, data=json.dumps(post_data).encode('utf-8'), headers=header, method='POST')file_content = urlopen(req).read().decode('utf-8')print(type(file_content))print(file_content)
亲测可行
备注:以下是get方式和post方式请求数据
from urllib.request import Request, urlopen
from urllib.parse import quote, urlencode
import json
from module.api_test.log_util import logsuccess_code = 0 # 请求成功的返回codeurl = 'http://172.16.2.74:8080/workOrder/detail'
params = None
header = {'Authorization': "MTc2OF90b2tlbl8xNTQzMjg1MjAyMDU3LCwsMTU0MzI4NTIwMjA1Nw==",'Content-Type': 'application/json'
}post_body = {}def post_api(url, params: dict, header: dict, post_body: dict):"""尝试POST方式请求接口:param url::param params::param header::param post_body::return:"""if header and "Content-Type" in header.keys() and header['Content-Type'] == 'application/json': # 请求参数是jsonreq = Request(url=url, data=json.dumps(post_body).encode('utf-8'), headers=header, method='POST')else: # 请求参数是mapparams = urlencode(params).encode('utf-8') # 编码请求参数req = Request(url=url, data=params, headers=header, method='POST')process_result(req)def get_api(url, params: dict, header: dict):"""尝试GET方式请求接口:param url::param params: quote(params[key], safe='/', encoding='utf-8', errors=None) 防止中文编码错误问题:param header::return:"""get_params = Noneif params:for key in params.keys():if params[key]:if not get_params:get_params = "?" + quote(key, safe='/', encoding='utf-8', errors=None) + "=" + quote(params[key],safe='/',encoding='utf-8',errors=None)else:get_params += "&" + quote(key, safe='/', encoding='utf-8', errors=None) + "=" + quote(params[key],safe='/',encoding='utf-8',errors=None)if get_params:url += get_paramsif header:req = Request(url=url, headers=header, method='GET')else:req = Request(url=url, method='GET')process_result(req)def process_result(req):"""处理请求返回结果:param req::return:"""result_content = Nonetry:result_content = urlopen(req).read().decode('utf-8')result_content = json.loads(result_content)if result_content['code'] and not result_content['code'] == success_code:log('------操作失败------')log('request_url:' + url)log('request_params:' + str(params))log('response:' + str(result_content))else:log('------操作成功------')log(str(result_content))except Exception as excp:log('------请求异常------')log('request_url:' + url)log('request_params:' + str(params))log('response:' + str(result_content))log('error:' + str(excp))if __name__ == '__main__':# url = "http://172.16.2.74:8080/elevator/getEvList"# params = {'cityId': "2282", "projectName": "花满楼", "page": "1", "pageSize": "11"}# get_api(url, params, header)# url = 'http://172.16.2.74:8080/alarm/wxAlarm'# params = {# "description": "",# "evId": "197363018554679296",# "openId": "o8xzN0eBwTNVYbnbxF7qf5H928gw",# "trap": 1# }# post_api(url,params,header,params)url = 'http://api.mmtt.ojict.com/api-elorr/elevatorInfo/updateElevatorFileNumber'header = {'tokenStr': "MTc2OF90b2tlbl8xNTQzMzk4NzEzMDUyLCwsMTU0MzM5ODcxMzA1Mg=="}params = {"evId": "197363018554679296","fileNumber": "o8xzN0eBwTNVYbnbxF7qf5H928gw"}post_api(url, params, header, params)
————————————————
版权声明:本文为CSDN博主「风正吹」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yingtian648/article/details/83788638
python 字典字符串转字典——urllib.request.Request发送get,post请求,发送json参数相关推荐
- Python 将字符串转为字典
引言 在工作中遇到一个小问题,需要将一个 Python 的字符串转为字典,比如字符串: user_info = '{"name" : "john", " ...
- Python将字符串转为字典最佳实践
在工作中我们经常会遇到数据类型之间的互转的问题,而通常我们请求一些API借口返回的结果就是字符串,但是格式是Json的,在Python中转为字典是最易处理的,所以这里记录一下在Python下把字符串转 ...
- [转载] python string 字符串转换为字典 dict
参考链接: Python | 将列表字符串转换为字典 dict = eval(string)
- 第二周python作业——字符串、字典、列表
第二周作业 字符串 基础 进阶 字典 列表 1. 基础题 2. 进阶题 3. 列表推导式 第二周作业 选择题 填空题 编程题 字符串 基础 输入一个字符串,打印所有奇数位上的字符(下标是1,3,5,7 ...
- python使用字典格式化字符串-python实现字符串和字典的转换
一.把一个字符串的内容提取出来,并放到字典中 流程如下: 1.得到字符串s,通过分割提取得到s1(是个列表) s="name=lyy&age=3&sex=women& ...
- python基础-字符串,字典,列表,集合
整形:% // / 字符串: 取数 In [31]: str_1='asdfg' In [32]: str_1[2:4] Out[32]: 'df' #左闭右开 In [34]: str_1[2] O ...
- vue 根据字符串生成表单_vue自定义表单生成器,可根据json参数动态生成表单
介绍 form-create 是一个可以通过 JSON 生成具有动态渲染.数据收集.验证和提交功能的表单生成器.并且支持生成任何 Vue 组件.结合内置17种常用表单组件和自定义组件,再复杂的表单都可 ...
- python对字符串(内嵌的字典)转为字典
引言 在工作中遇到一个小问题,需要将一个 python 的字符串转为字典,比如字符串: user_info = '{"name" : "john", " ...
- Python 字符串转字典(多种方法)
在工作中遇到一个小问题,需要将一个 python 的字符串转为字典,比如字符串: user_info = '{"name" : "john", "ge ...
最新文章
- Pbsim模拟器的使用
- 解放双手 | Jenkins + gitlab + maven 自动打包部署项目
- 利用第三方工具在Unity中创建多人联网游戏
- 设置图片垂直居中line-height和vertical-align的区别
- “进度条”博客——第十六周
- 【MAVEN】如何在Eclipse中创建MAVEN项目
- 忘记MySQL密码怎么办?一招教你搞定!
- css如何实现一个小三角形,用纯css写一个常见的小三角形
- 草根教程 网友详解索尼本本装雪豹过程
- 软件工程网络15个人阅读作业1
- Eclipse开发JSP页面,xhtml页面卡死的解决方法
- 如何访问SSH公钥?
- Windows内核结构
- t470键盘拆解_张大妈 ThinkPad T470p 首篇 开箱拆机晒物
- AD15如何更新原理图库
- layui 导航栏设置无鼠标停留特效_五款最受欢迎的热门wordpress开源主题 - 博客、导航...
- android投屏功能开发,Android DLNA投屏-基于CyberGarage开发投屏功能
- IT人员升职必会的软技能
- 电脑右下角没有USB图标,不能退出
- 二十、JVM命令行监控工具
热门文章
- Unity3D 人形血条制作小知识
- Android特效专辑(十二)——仿支付宝咻一咻功能实现波纹扩散特效,精细小巧的View...
- org.hibernate.MappingException: entity class not found hbm可以解析,但是实体类不能解析...
- 免费的400GB网络存储空间
- cocos工程里面“”invalid ''cobl” in fuction xxx原理与解决方案
- CodeForces - 1055C Lucky Days(数论)
- CodeForces - 466C Number of Ways(推公式/dp)
- 牛客 - Animal Protection(单调栈)
- HDU - 2874 Connections between cities(并查集+LCA)
- CodeForces - 1228B Filling the Grid(思维,水题)