python接口自动化2-来发送一个get请求

前言

Requests: 让 HTTP 服务人类,唯一的一个非转基因的 Python HTTP 库,人类可以安全享用;

Requests继承了urllib2的所有特性,能满足当前网络的需求,支持Python 2.6—3+下完美运行。github开源地址:https://github.com/kennethreitz/requests

一、环境安装

1.利用python的 pip 安装:pip install request

C:\Users\Administrator>pip install request
Collecting request
Using cached https://files.pythonhosted.org/packages/f1/27/7cbde262d854aedf217061a97020d66a63163c5c04e0ec02ff98c5d8f44e/request-2019.4.13.tar.gz
Requirement already satisfied: get in d:\path_python\lib\site-packages (from request) (2019.4.13)
Requirement already satisfied: post in d:\path_python\lib\site-packages (from request) (2019.4.13)
Requirement already satisfied: setuptools in d:\path_python\lib\site-packages (from request) (39.0.1)
Requirement already satisfied: query_string in d:\path_python\lib\site-packages (from get->request) (2019.4.13)
Requirement already satisfied: public in d:\path_python\lib\site-packages (from query_string->get->request) (2019.4.13)
Installing collected packages: request
Running setup.py install for request ... done
Successfully installed request-2019.4.13
WARNING: You are using pip version 19.2.3, however version 19.3.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

2.验证request是否安装成功了,cmd输入python,再import request,没有报错就是成功了

C:\Users\Administrator>python
Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import request
>>>

二、发送get请求

小编用的是pycharm,只是写代码提高效率,当然只要是python语法用什么来写都可以,比如用文本,后缀为.py它就可以运行。

1.直接导入 request 库,get 某个 url 就可以访问了,小编get:https://www.cnblogs.com/gsxl/ ,然后用print它的返回信息。

2.rq表示一个请求后返回的响应值,这里我直接用rq.text,查看响应正文内容了。

3.这里还有可以查看状态码、 响应头等等,稍后我们介绍。

import requests

url = 'https://www.cnblogs.com/gsxl/'
rq = requests.get(url)
print(rq.text)


 三、发送get请求带 params参数

1.实现在百度搜索“广深小龙”,我们说一下带参数的,也有另一种可不带参数(这种的话其实参数在url上了)

2.在浏览器内输入:https://www.baidu.com/s?wd=广深小龙 ,打开能正常搜索出来,确认没有问题后我们再写代码

3.定义kw有一个键值对(类似json,这里是字典),kw = {‘kw’:‘广深小龙’},我们只需要在get请求上加一个 params=kw 即可,如下:

四、还可以获取更多的响应对应值,比如我要打印响应码,就直接print(rq.status_code )


import requests

kw = {'wd': '广深小龙'}
rq = requests.get("http://www.baidu.com/s?", params=kw)

print(rq.status_code) # 状态码
print(rq.text) # raw 响应文本
print(rq.headers) # 响应头部...等等

想知道更多,我们可以直接看它的源码,还有以下部分:

rq.status_code             #响应状态码
rq.content                    #自动解码
rq.headers                   #响应头
rq.json()                       # json解码器
rq.url                           # 获取url
rq.encoding                 # 编码格式,一般设置=‘utf-8’
rq.cookies                   # 获取cookie
rq.raw                         #原始响应体
rq.text                        #响应正文

 注意这里有个坑:开着 fiddler 的时候,在pycharm里面发送请求就会报错,我们把 fiddler 停止(F12)或者关闭就可以了! 

猜你喜欢

转载自www.cnblogs.com/gsxl/p/11709197.html