• python 接口自动化测试二(request.get)


    环境搭建好后,接下来我们先来了解一下requests的一些简单使用,主要包括:

    1. requests常用请求方法使用,包括:get,post
    2. requests库中的Session、Cookie的使用
    3. 其它高级部分:认证、代理、证书验证、超时配置、错误异常处理等。

    本节首先来了解一下requests库中如何发送get请求:

    一、看下方法定义:

    1、到官方文档去了下requests.get()方法的定义,如下:

    2、点击右上角的【source】,看一下它的源码如下:

    看到最后一行return,get方法最后是通过调用 requests.request 方法实现的,其实在其它的请求方法如post,put,head,delete等方法都是调用的request方法,然后把请求方法的类型传递给request方法第一个参数。

    3、HTTP协议是一个基于请求/响应模式的、无状态的,应用层协议。既然有请求,就有响应,来看下resquest中常用的响应信息:

    二、get方法简单使用: 

    1、不带参数的get:

    复制代码
    # -*- coding:utf-8 -*-
    #不带参数的get
    
    import requests
    import json
    
    host = "http://httpbin.org/"
    endpoint = "get"
    
    url = ''.join([host,endpoint])
    r = requests.get(url)
    #response = r.json()
    
    print type(r.text)
    print (eval(r.text))
    复制代码

    输出:

    复制代码
    {
        'origin': '183.14.133.88',
        'headers': {
            'Connection': 'close',
            'Host': 'httpbin.org',
            'Accept-Encoding': 'gzip,
            deflate',
            'Accept': '*/*',
            'User-Agent': 'python-requests/2.18.1'
        },
        'args': {
            
        },
        'url': 'http: //httpbin.org/get'
    }
    复制代码
    2、 带参数的get:
    复制代码
    # -*- coding:utf-8 -*-
    #带参数的get
    
    import requests
    import json
    
    host = "http://httpbin.org/"
    endpoint = "get"
    
    url = ''.join([host,endpoint])
    params = {"show_env":"1"}
    r = requests.get(url=url,params=params)
    
    print r.url
    复制代码

     输出: 

    复制代码
    http://httpbin.org/get?show_env=1
    {
        'origin': '183.14.133.88',
        'headers': {
            'X-Request-Id': 'ebe922b4-c463-4fe9-9faf-49748d682fd7',
            'Accept-Encoding': 'gzip,
            deflate',
            'X-Forwarded-Port': '80',
            'Total-Route-Time': '0',
            'Connection': 'close',
            'Connect-Time': '0',
            'Via': '1.1vegur',
            'X-Forwarded-For': '183.14.133.88',
            'Accept': '*/*',
            'User-Agent': 'python-requests/2.18.1',
            'X-Request-Start': '1504755961007',
            'Host': 'httpbin.org',
            'X-Forwarded-Proto': 'http'
        },
        'args': {
            'show_env': '1'
        },
        'url': 'http: //httpbin.org/get?show_env=1'
    }
    复制代码

    3、带header的get:

    复制代码
    # -*- coding:utf-8 -*-
    
    import requests
    import json
    
    host = "http://httpbin.org/"
    endpoint = "get"
    
    url = ''.join([host,endpoint])
    headers = {"User-Agent":"test request headers"}
    
    r = requests.get(url)
    r = requests.get(url,headers=headers)
    #response = r.json()
    print (eval(r.text))['headers']['User-Agent']
    复制代码

     输出:

    test request headers

    4、同时带参数和header:

    复制代码
    # -*- coding:utf-8 -*-
    import requests
    import json
    
    host = "http://httpbin.org/"
    endpoint = "get"
    
    url = ''.join([host,endpoint])
    headers = {"User-Agent":"test request headers"}
    params = {"show_env":"1"}
    
    r = requests.get(url)
    r = requests.get(url,headers=headers,params=params)
    
    #response = r.json()
    print (eval(r.text))['headers']['User-Agent']
    print r.url
    复制代码

    输出:

    test request headers
    http://httpbin.org/get?show_env=1
  • 相关阅读:
    【转载】Visual Studio2017中如何设置解决方案中的某个项目为启动项目
    【转载】通过百度站长平台提交网站死链
    【转载】通过搜狗站长平台提交网站域名变更后的文章地址
    【转载】通过搜狗站长平台手动向搜狗搜索提交死链
    【转载】通过搜狗站长平台手动向搜狗搜索提交文章加快收录
    【转载】Visual Studio中WinForm窗体程序如何切换.NET Framework版本
    【转载】Visual Studio2017如何设置打包发布的WinForm应用程序的版本号
    【转载】通过搜狗站长平台查看网站的搜狗流量及搜索关键字
    【转载】Visual Studio2017如何打包发布Winform窗体程序
    【转载】通过百度站长平台查看网站搜索流量及关键字
  • 原文地址:https://www.cnblogs.com/zhang-jun-jie/p/9273564.html
Copyright © 2020-2023  润新知