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响应内容:

     

  • 相关阅读:
    mysql在CentOS6.3上安装
    hdfs高可用性(HDFS High Availability)
    如何做个好员工
    lock(3)——更新锁(U)、排它锁(X)、死锁及如何避免死锁
    锁(1)—— 锁粒度和层次结构
    lock(2)——创建及更新表过程中SQL SERVER锁资源分配情况
    HBase体系结构
    HDFS的shell操作
    Windows 使用 net use 命令
    Windows 使用 net 命令简介
  • 原文地址:https://www.cnblogs.com/HMeier/p/13282810.html
Copyright © 2011-2022 走看看