zoukankan      html  css  js  c++  java
  • 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:UsersAdministrator>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_pythonlibsite-packages (from request) (2019.4.13)
    Requirement already satisfied: post in d:path_pythonlibsite-packages (from request) (2019.4.13)
    Requirement already satisfied: setuptools in d:path_pythonlibsite-packages (from request) (39.0.1)
    Requirement already satisfied: query_string in d:path_pythonlibsite-packages (from get->request) (2019.4.13)
    Requirement already satisfied: public in d:path_pythonlibsite-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:UsersAdministrator>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                        #响应正文

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

    2.响应数据出现乱码解决办法:print(rq.content.decode("utf-8"))

    欢迎来QQ交流群:482713805

  • 相关阅读:
    视觉(9)争取快点看完基于图论的立体匹配算法
    STL笔记(2) STL之父访谈录
    视觉(7)Computer vision from Wikipedia
    *NIX工具使用(1) Vim notes
    STL笔记(1)map
    AI杂谈(1) 你喜欢ML里的哪些模型?希望ML未来向什么方向发展?
    AI杂谈(3): dodo:人脸识别方法个人见解(zz from prfans)
    AI杂谈(2)请教支持向量机用于图像分类
    视觉(3)blepo
    windows编程(2)深入探讨MFC消息循环和消息泵
  • 原文地址:https://www.cnblogs.com/gsxl/p/11709197.html
Copyright © 2011-2022 走看看