博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python接口自动化1-发送get请求 request
阅读量:4289 次
发布时间:2019-05-27

本文共 1835 字,大约阅读时间需要 6 分钟。

 

 

准备工作:

1、下载python安装。

  https://www.python.org/downloads/release/python-351/

 

 

一路next,安装成功后

搜索栏输入“idle”就可以编写Python了,或者打开cmd命令页面,输入Python也可以进入Python Shell模式,如果提示Python不是内部或外部命令,把Python的安装目录添加到系统环境变量的Path下面,打开计算机右键“属性-高级-环境变量=系统变量的Path中添加” ;C:\Python35”(注意保存后需要关闭命令行页面后重启才能正常)

 

安装pip

最新的Python安装包已经集成了pip,可以到Python安装目录 C:\Python35\scripts下查看是否有pip.exe或pip.exe文件。如果有可以直接在Windows命令提示符下输入pip或pip3,如果输入提示内部/外部命令,则可以手动将C:\Python35\Scripts\目录添加到系统环境变量下的Path下面,重新打开cmd命令验证

 

一、环境安装

1.用pip安装requests模块

>>pip install requests

二、get请求

1.导入requests后,用get方法就能直接访问url地址,如:http://www.cnblogs.com/yoyoketang/,看起来是不是很酷

2.这里的r也就是response,请求后的返回值,可以调用response里的status_code方法查看状态码

3.状态码200只能说明这个接口访问的服务器地址是对的,并不能说明功能OK,一般要查看响应的内容,r.text是返回文本信息

#coding:utf-8import requests#请求博客首页r=requests.get('http://www.cnblogs.com/yoyoketang/')print (r.status_code)print (r.text)

三、params

1.再发一个带参数的get请求,如在博客园搜索:yoyoketang,url地址为:http://zzk.cnblogs.com/s/blogpost?Keywords=yoyoketang

2.请求参数:Keywords=yoyoketang,可以以字典的形式传参:{"Keywords": "yoyoketang"}

3.多个参数格式:{"key1": "value1", "key2": "value2", "key3": "value3"}

 

注意自己补充的:

#coding=utf-8import requests#请求博客首页par={"Keywords":"yoyoketang"}   #这里的是网址问号后面的参数r=requests.get('http://zzk.cnblogs.com/s/blogpost',params=par)#注意不是http://zzk.cnblogs.com/s/blogpost?Keywords=yoyoketang,从问号?后面截掉print(r.status_code)print(r.text)

四、content

1.百度首页如果用r.text会发现获取到的内容有乱码,因为百度首页响应内容是gzip压缩的(非text文本)

2.如果是在fiddler工具乱码,是可以点击后解码的,在代码里面可以用r.content这个方法,content会自动解码 gzip 和deflate压缩

 

五、response

1.response的返回内容还有其它更多信息

-- r.status_code     #响应状态码

-- r.content           #字节方式的响应体,会自动为你解码 gzip 和 deflate 压缩
-- r.headers          #以字典对象存储服务器响应头,但是这个字典比较特殊,字典键不区分大小写,若键不存在则返回None
-- r.json()             #Requests中内置的JSON解码器
-- r.url                  # 获取url
-- r.encoding         # 编码格式
-- r.cookies           # 获取cookie
-- r.raw                #返回原始响应体
-- r.text               #字符串方式的响应体,会自动根据响应头部的字符编码进行解码
-- r.raise_for_status() #失败请求(非200响应)抛出异常

你可能感兴趣的文章
程序员常用的自助建站资源汇总!
查看>>
分布式与集群的区别是什么?
查看>>
MySql常用必备脚本大全
查看>>
Velocity初探小结--velocity使用语法详解
查看>>
设计模式学习 - Singleton Pattern
查看>>
学习Spring——依赖注入
查看>>
CSS3 transform 属性详解
查看>>
Java对象内存结构及大小计算
查看>>
Spring MVC注解的一些案列
查看>>
Web大文件断点续传,快来看看吧!
查看>>
javascript高级编程3第二章:在html中使用javascript
查看>>
Android中热修复框架AndFix原理解析及案例使用
查看>>
手写代码实现EventBus
查看>>
关于JSON的相关知识
查看>>
SpringMVC基础_常用注解
查看>>
Spring框架-IOC容器和Bean的配置(1)
查看>>
查询内容在网页里面分页显示+跳页查看
查看>>
mysql substring函数截取值后赋给一个declare变量
查看>>
Java Thread 的 sleep() 和 wait() 的区别
查看>>
DbUtils入门
查看>>