zoukankan      html  css  js  c++  java
  • Ruquest基础使用(一)

    Ruquest基础使用(一)

    简介

    Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用。

    警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症、冗余代码症、重新发明轮子症、啃文档症、抑郁、头疼、甚至死亡。

    安装

    1、在线联网安装

    CMD中输入执行pipinstall-Urequests联网安装requests

    2、离线安装

    1)进https://pypi.org/project/requests/下载并解压requests-***.tar.gz

    2然后用cmd进入解压目录

    3使用命令Pythonsetup.pyinstall安装requests

    模拟GET请求

    格式:

    Import requests

    Response=requests.get(‘URL’)

    示例:

    输出显示内容:

     返回内容乱码

    由于response.content是二进制模式,可以下载视频之类的,如果想看的话需要decodeutf-8格式。而response.text返回的是Unicode格式,通常需要转换为utf-8 格式,否则就是乱码。

    解决方法一:

    print(response.content.decode('utf-8'))

    解决方法二:

    response.encoding = 'utf-8'  #设置格式为‘utf-8’格式

    print(response.text)

    模拟带参数的get请求

    格式一:

    Import requests

    data={‘参数一’:‘值2,参数二’:‘值2}

    Response=requests.get(‘URL’params=data)

     格式二:

    Import requests

    Response=requests.get(‘URL’,参数1=1,参数2=2)

    示例

     自定义请求头

    格式一:

    Import requests

    data={‘参数一’:‘值2,参数二’:‘值2}

    Headerifno={‘参数一’:‘值2,参数二’:‘值2}

    Response=requests.get(‘URL’params=data,headers=Headerifno)

    示例:

     

     模拟POST请求

    post参数处理

    post请求的请求参数是通过data方式来传递的。Post的请求参数一般有form表单、json数据、文件等。用requests模块处理方式如下:

    【form表单

    使用dict类型传输

    dataform ={'key':'value'}

    postResponse=requests.post(url,data=dataform )

    Json数据

    方式一:

    (需要使用json模块)

     方式二:

     

     【文件上传】

     

     获取响应内容

    获取响应方式

    应包括响应行、响应头、响应正文内容,这些返回的响应信息都可以通过Requests模块获取。这些获取到的响应内容也是接口测试执行得到的实际结果。

     

     

    响应内容处理

    【文本响应内容】

    Requests会自动解码来自服务器的内容。大多数unicode字符集都能被无缝地解码。请求发出后,Requests会基于HTTP头部对响应的编码作出有根据的推测。

    当你访问r.text之时,Requests会使用其推测的文本编码。r.text使用后乱码的几率很大,可以先用r.encoding属性来改变编码,如下所示:

     

    进制响应内容

    对于非文本请求,r.content能以字节的方式访问请求响应体。且Requests模块会自动为你解码gzipdeflate传输编码的响应数据。

    使r.content处理普通的响应返回:

     

    使用r.content下载图片文件:

     

    【JSON响应内容:

     

  • 相关阅读:
    Java实现 LeetCode 69 x的平方根
    Java实现 LeetCode 68 文本左右对齐
    Java实现 LeetCode 68 文本左右对齐
    Java实现 LeetCode 68 文本左右对齐
    Java实现 LeetCode 67 二进制求和
    Java实现 LeetCode 67 二进制求和
    Java实现 LeetCode 67 二进制求和
    Java实现 LeetCode 66 加一
    Java实现 LeetCode 66 加一
    CxSkinButton按钮皮肤类
  • 原文地址:https://www.cnblogs.com/HMeier/p/13282810.html
Copyright © 2011-2022 走看看