python,基于http协议,最常用的是GET和POST两种方法
基于http协议,最常用的是GET和POST两种方法。
接口文档需要包含哪些信息:
接口名称
接口功能
接口地址
支持格式 json/xml
请求方式
请求示例
请求参数(是否必填、数据类型、传递参数格式)
返回参数说明
以典型的(一两个)参数做为判断是否请求通过(重点是看响应的信息判断)
一、GET
1 import requests2 import json3 4 url = "http://v.juhe.cn/laohuangli/d"5 para = {"key":"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeee","date":"2017-3-22"}6 header ={}7 8 r = requests.get(url,params=para,headers= header,)9 #verify=True适用于服务端的ssl证书验证,verify=False为关闭ssl验证
10 print('get请求获取的响应结果json类型',r.text) 11 print("get请求获取响应状态码",r.status_code) 12 print("get请求获取响应头",r.headers['Content-Type']) 13 14 #响应的json数据转换为可被python识别的数据类型 15 json_r = r.json() 16 print(json_r)
二、POST
post请求有两种请求格式:
1、key-value的格式'Content-Type':'application/x-www-form-urlencoded'
2、标准json的格式:'Content-Type':'application/json'
#key-value
1 import requests2 import json3 4 url = "http://v.juhe.cn/laohuangli/d"5 para = {"key":"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeee","date":"2017-3-22"}6 header ={}7 8 r = requests.post(url,data=para,headers= header)9 10 print('get请求获取的响应结果json类型',r.text) 11 print("get请求获取响应状态码",r.status_code) 12 print("get请求获取响应头",r.headers['Content-Type']) 13 14 #响应的json数据转换为可被python识别的数据类型 15 json_r = r.json() 16 print(json_r)
#json
1 import requests2 import json3 4 url = "http://v.juhe.cn/laohuangli/d"5 para = {"key":"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeee","date":"2017-3-22"}6 header ={}7 #python数据类型转换为json类型(json.dumps())8 para = json.dumps(para)9 r = requests.post(url,data=para,headers= header) 10 11 print('get请求获取的响应结果json类型',r.text) 12 print("get请求获取响应状态码",r.status_code) 13 print("get请求获取响应头",r.headers['Content-Type']) 14 15 #响应的json数据转换为可被python识别的数据类型 16 json_r = r.json() 17 print(json_r)
三、把所有的请求封装在函数中
1 def get(url,para,headers):2 try:3 r = requests.get(url,params=para,headers=headers)4 print("获取返回的状态码",r.status_code)5 json_r = r.json()6 print("json类型转化成python数据类型",json_r)7 except BaseException as e:8 print("请求失败!",str(e))9 def post(url,para,headers): 10 try: 11 r = requests.post(url,data=para,headers=headers) 12 print("获取返回的状态码",r.status_code) 13 json_r = r.json() 14 print("json类型转化成python数据类型",json_r) 15 except BaseException as e: 16 print("请求失败!",str(e)) 17 def post_json(url,para,headers): 18 try: 19 data = para 20 data = json.dumps(data) #python数据类型转化为json数据类型 21 r = requests.post(url,data=data,headers=headers) 22 print("获取返回的状态码",r.status_code) 23 json_r = r.json() 24 print("json转换为python数据类型:",json_r) 25 except BaseException as e: 26 print("请求失败!",str(e)) 27 28 url = "http://v.juhe.cn/laohuangli/d" 29 para = {"key":"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeee","date":"2017-3-22"} 30 headers ={} 31 32 get(url,para,headers) 33 post(url,para,headers) 34 post_json(url,para,headers)
四、把所有请求封装在一个对象里
1 class Webrequests:2 def get(self,url,para,headers):3 try:4 r = requests.get(url,params=para,headers=headers)5 print("获取返回的状态码",r.status_code)6 json_r = r.json()7 print("json类型转化成python数据类型",json_r)8 except BaseException as e:9 print("请求失败!",str(e)) 10 def post(self,url,para,headers): 11 try: 12 r = requests.post(url,data=para,headers=headers) 13 print("获取返回的状态码",r.status_code) 14 json_r = r.json() 15 print("json类型转化成python数据类型",json_r) 16 except BaseException as e: 17 print("请求失败!",str(e)) 18 def post_json(self,url,para,headers): 19 try: 20 data = para 21 data = json.dumps(data) #python数据类型转化为json数据类型 22 r = requests.post(url,data=data,headers=headers) 23 print("获取返回的状态码",r.status_code) 24 json_r = r.json() 25 print("json类型转化成python数据类型",json_r) 26 except BaseException as e: 27 print("请求失败!",str(e)) 28 29 url = "http://v.juhe.cn/laohuangli/d" 30 para = {"key":"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeee","date":"2017-3-22"} 31 headers ={} 32 33 q = Webrequests() 34 35 q.get(url,para,headers) 36 q.post(url,para,headers) 37 q.post_json(url,para,headers)
python,基于http协议,最常用的是GET和POST两种方法相关推荐
- java整型转换为数组_基于java中byte数组与int类型的转换(两种方法)
java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法,我们都知道,在socket传输中,发送.者接收的数据都是 byte数组,但是int类型是4个byte组成的,如何把一个整形 ...
- python怎么在图片上写字_Python在图片中添加文字的两种方法
本文主要介绍的是利用Python在图片中添加文字的两种方法,下面分享处理供大家参考学习,下来要看看吧 一.使用OpenCV 在图片中添加文字看上去很简单,但是如果是利用OpenCV来做却很麻烦.Ope ...
- 怎样在python的turtle中输入文字_Python在图片中添加文字的两种方法
本文主要介绍的是利用Python在图片中添加文字的两种方法,下面分享处理供大家参考学习,下来要看看吧 一.使用OpenCV 在图片中添加文字看上去很简单,但是如果是利用OpenCV来做却很麻烦.Ope ...
- python统计汉字个数是_python统计中文字符数量的两种方法
方法一: def str_count(str): '''找出字符串中的中英文.空格.数字.标点符号个数''' count_en = count_dg = count_sp = count_zh = c ...
- python怎么统计多少字符_python统计中文字符数量的两种方法
方法一: def str_count(str): '''找出字符串中的中英文.空格.数字.标点符号个数''' count_en = count_dg = count_sp = count_zh = c ...
- python 学习系列(3) 读取并显示图片的两种方法
python 读取并显示图片的两种方法 在 python 中除了用 opencv,也可以用 matplotlib 和 PIL 这两个库操作图片.本人偏爱 matpoltlib,因为它的语法更像 mat ...
- python获取剪切板图片_python 获取剪切板内容的两种方法
第一种 # -*- coding: utf-8 -*- # @Time : 2020/3/16 21:26 # @File : get_text_from_cupboard_13.py # @Auth ...
- python读取指定行到最后一行_python读取文件最后一行两种方法
原博文 2018-09-27 13:58 − 1)常规方法:从前往后依次读取 步骤:open打开文件. ... 相关推荐 2019-09-28 21:13 − Python python是一种跨平台的 ...
- python杨辉三角居中_python打印杨辉三角的两种方法及详解
艾斯压阵 1c950a7b02087bf4200394cdf1d3572c11dfcf23.jpg 一盏灯, 一片昏黄: 一简书, 一杯淡茶. 守着那一份淡定, 品读属于自己的寂寞. 保持淡定, 才能 ...
最新文章
- EqualizeHist函数
- Java 编程的动态性,第 5 部分: 动态转换类--转载
- jmeter中重定向多个正则表达式_2020年jmeter技术实战续集,最新技术全栈,值得收藏
- JAVA并发篇_公平锁与非公平锁
- 约束布局(ConstraintLayout)1.1.2 版本的新特性
- Gridview 增加多个空行。
- STM8S003F3串口中断发送问题
- Python大佬用20行代码带你打造一个微信聊天机器人(附代码)
- android 获取图片信息 之 ExifInterface
- 斗战神与服务器断开响应,win10系统玩斗战神游戏掉线的设置办法
- L2CAP数据发送和接收
- 一周热图|王珞丹创立宠物用品品牌;超模何穗亮相雀巢冷萃自由大秀;乐高试点有声与盲文拼搭指南...
- 基于Java的飞机大战游戏的设计与实现(含源文件)
- Matlab:查找命令行窗口或历史记录中的文本
- 常用测试网络联通方法
- 上半年要写的博客文章30
- 嵌入式系统硬件设计与实践(学习方法)
- 更新和卸载 oh-my-zsh
- IPerf3 for Android 7
- Android数据转化为Excel表格导入导出