【Python系列】Python接口测试 - 02requests快速上手(基础篇一)

一、发送请求

使用 Reuests 发送网络请求

import requests

# 获取 GitHub 的公共时间线
# So现在,我们就得到了一个名为 r 的 Response 对象
r = requests.get('https://api.github.com/events')
print('Response对象:', r.text)

# requests 的请求类型:
# GET
r_get = requests.get('http://httpbin.org/get', data={'key': 'value'})
print('r_get: ', r_get.text)

# POST
r_post = requests.post('http://httpbin.org/post', data={'key': 'value'})
print('r_post: ', r_post.text)

# PUT
r_put = requests.put('http://httpbin.org/put', data={'key': 'value'})
print('r_put: ', r_put.text)

# DELETE
r_delete = requests.delete('http://httpbin.org/delete')
print('r_delete: ', r_delete.text)

# DEAD
r_head = requests.head('http://httpbin.org/get')
print('r_head: ', r_head.text)

# OPTIONS
r_options = requests.options('http://httpbin.org/get')
print('r_options: ', r_options.text)

二、传递 URL 参数

参数拼接

import requests

def pass_parameters():
    payload = {
        'key1': 'value1',
        'key2': 'value2'
    }
    r_payload = requests.get("http://httpbin.org/get", params=payload)
    print("r_payload.url", r_payload.url)

三、响应内容

查看文本、编码方式、二进制响应、原始响应、保存数据流到文本中

import requests

def response_content():
    r_content = requests.get('https://api.github.com/events')

    # 文本式响应
    r_text = r_content.text
    print("r_text: ", r_text)

    # 查看文本编码
    r_coding = r_content.encoding
    print("r_coding: ", r_coding)

    # 二进制响应内容
    r_content = r_content.content
    print("r_content: ", r_content)

    # JSON响应内容(AttributeError: 'bytes' object has no attribute 'json')
    # r_json = r_content.json
    # print("r_json: ", r_json)

    # 原始响应内容
    r_origin = requests.get("https://api.github.com/events",  stream=True)
    r_raw = r_origin.raw
    r_raw_read = r_raw.read(10)
    print("r_raw: ", r_raw)
    print("r_raw_read: ", r_raw_read)

    # 将数据流保存到文本中
    with open('r_content.txt', 'wb') as fb:
        for chunk in r_origin.iter_content(50):
            fb.write(chunk)

 response_content()

猜你喜欢

转载自blog.csdn.net/kelisigk/article/details/89880919