前言

Requests: 让 HTTP 服务人类,唯一的一个非转基因的 Python HTTP 库,人类可以安全享用;

Requests继承了urllib2的所有特性,能满足当前网络的需求,支持Python 2.6—3+下完美运行。github开源地址:https://github.com/kennethreitz/requests

一、环境安装

1.利用python的 pip 安装:pip install request

C:\Users\Administrator>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_python\lib\site-packages (from request) (2019.4.13)
Requirement already satisfied: post in d:\path_python\lib\site-packages (from request) (2019.4.13)
Requirement already satisfied: setuptools in d:\path_python\lib\site-packages (from request) (39.0.1)
Requirement already satisfied: query_string in d:\path_python\lib\site-packages (from get->request) (2019.4.13)
Requirement already satisfied: public in d:\path_python\lib\site-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:\Users\Administrator>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

python接口自动化2-第一次发送get请求的更多相关文章

  1. python接口自动化一(发送get请求)

    一.环境安装 1.用pip安装requests模块 >>pip install requests 二.get请求 1.导入requests后,用get方法就能直接访问url地址,如:htt ...

  2. python接口自动化(十)--post请求四种传送正文方式(详解)

    简介 post请求我在python接口自动化(八)--发送post请求的接口(详解)已经讲过一部分了,主要是发送一些较长的数据,还有就是数据比较安全等.我们要知道post请求四种传送正文方式首先需要先 ...

  3. python+pytest接口自动化(4)-requests发送get请求

    python中用于请求http接口的有自带的urllib和第三方库requests,但 urllib 写法稍微有点繁琐,所以在进行接口自动化测试过程中,一般使用更为简洁且功能强大的 requests ...

  4. python接口自动化-发xml格式post请求

    前言 post请求相对于get请求多一个body部分,body部分常见的数据类型有以下四种(注意是常见的,并不是只有4种) application/x-www-form-urlencoded appl ...

  5. python接口自动化二(发送post请求)

    前言 一个http请求包括三个部分,为别为请求行,请求报头,消息主体,类似以下这样: 请求行 请求报头 消息主体 HTTP协议规定post提交的数据必须放在消息主体中,但是协议并没有规定必须使用什么编 ...

  6. Python接口自动化【requests处理Token请求】

    首先说一下使用python模拟登录或注册时,对于带token的页面怎么登录注册模拟的思路: 1.对于带token的页面,需要先从最开始的页面获取合法token 2.然后使用获取到的合法token进行后 ...

  7. python接口自动化1-发送get请求

    前言 requests模块,也就是老污龟,为啥叫它老污龟呢,因为这个官网上的logo就是这只污龟,接下来就是学习它了. 一.环境安装 1.用pip安装requests模块 >>pip in ...

  8. python接口自动化25-发xml格式post请求

    前言 post请求相对于get请求多一个body部分,body部分常见的数据类型有以下四种(注意是常见的,并不是只有4种) application/x-www-form-urlencoded appl ...

  9. python接口自动化9-https请求(SSL)

    前言 本来最新的requests库V2.13.0是支持https请求的,但是一般写脚本时候,我们会用抓包工具fiddler,这时候会报:requests.exceptions.SSLError: [S ...

  10. python接口自动化(delete请求)

    python接口自动化(delete请求) 一.delete请求的目的:删除资源 二.应用 导包:import requests 调用delete方法:requests.delete(url) 获取响 ...

随机推荐

  1. 【深入浅出-JVM】(75):class 装载

    过程 装载 条件 主动使用 class时 创建一个类的实例 (new .反射.克隆.反序列化) 调用类的静态方法(invokestatic) 使用类或接口的静态字段(getstatic.putstat ...

  2. React Hooks 你不来了解下?

    前言 最近在看 React 的新语法-- React Hooks,只能一句话概括:React 语法真的是越来越强大,越写代码越少. 强烈推荐还没看 React Hooks 的同学去学习下,这会让你写r ...

  3. Spinner列表选择框

    Spinner首先它是一个弹出式的列表选择框,由于间接继承了ViewGroup,所以它可以当做一个容器使用; 如果我们可以明确下拉列表中的列表项, 则可以不需要编写代码, 只需要为spinner指定a ...

  4. idea解决This file is indented with tabs instead of 4 spaces

    idea上面总是弹出 解决方法: File -> Settings -> Editor -> Code Style -> Java -> Tabs and Indents ...

  5. 使用java程序作为celery的工作节点

    celery是python实现的分布式调度框架,有时候想用celery去调用java服务,正好有一个celery-java的库可以使用,能达到这个效果,记录一下: 先添加依赖: <depende ...

  6. Stanford公开课《编译原理》学习笔记(1~4课)

    目录 一. 编译的基本流程 二. Lexical Analysis(词法分析阶段) 2.1 Lexical Specification(分词原则) 2.2 Finite Automata (典型分词算 ...

  7. 降低 80% 的读写响应延迟!我们测评了 etcd 3.4 新特性(内含读写发展史)

    作者 | 陈洁(墨封)  阿里云开发工程师 导读:etcd 作为 K8s 集群中的存储组件,读写性能方面会受到很多压力,而 etcd 3.4 中的新特性将有效缓解压力,本文将从 etcd 数据读写机制 ...

  8. TestNG(四) 基本注解BeforeSuite和AfterSuite

    package com.course.testng; import org.testng.annotations.*; public class BasicAnnotation { @Test //最 ...

  9. 07 (OC)* XIB原理和Xib、storyBoard、代码的优缺点

    1:可读性 2:可视化界面.立马看到 3:开发速度. 4:复用性 5:维护性差 本质 编译时对xml文件做了如下操作1,读取xml文件,生成所有界面对象,生成所有object(即自定义的control ...

  10. java教程系列二:Java JDK,JRE和JVM分别是什么?

    多情只有春庭月,犹为离人照落花. 概述 本章主要了解JDK,JRE和JVM之间的区别.JVM是如何工作的?什么是类加载器,解释器和JIT编译器.还有一些面试问题. Java程序执行过程 在深入了解Ja ...