python调用api应用接口_Python接口测试之urllib2库应用

6dea895e5349836158b14d74a8910cf8.png

在接口测试中或者说在网络爬虫中,urllib2库是必须要掌握的一个库,当然还有优秀的requests库,今天重点来说urllib2库在接口测试中的应用。urllib2定义了很多的函数和类,这些函数和类能够帮助我们在复杂情况下获取URLS的内容。这些情况包含了对headers的添加,cookie的处理,代理,超时,鉴权等的处理。如果想详细的了解urllib2库,建议到官方查看,官方地址:https://docs.python.org/2/library/urllib2.html。查看urllib2库的详细的帮助文档,见执行的代码:

#!/usr/bin/env python

#-*-coding:utf-8-*-

import urllib2

print type(help(urllib2))

首先我们来看一个完整的请求和响应内容,然后通过urllib2的库来实现这样的一个过程,我们访问http://m.cyw.com/切换城市,见抓取的信息,见截图:

dd30873ecec5cdf7b3a2ef3aa42ce44e.png

见客户端发送请求后,服务端响应回复的内容截图:

fd6dea05c999775687c2d2cddf803552.png

在如上的截图中,我们知道了请求的URL,方法以及请求的参数,下来我们使用urllib2的库来实现一个完整的请求过程和响应内容,见实现的代码:

63c0579e7cf402d89eb5e52a990122fd.png

调用如上的函数后,见执行的结果:

http的状态码: 200

响应内容: {"status":true,"homeUrl":"/xian"}

在接口的测试中,客户端向服务端发起请求的时候,需要添加header这样服务端,否则服务端会拒绝客户端的请求,那么在urllib2库中,如何添加header了,见如下的案例代码:

5fa6182390b1b2e465f8c9fffeec2044.png

发送一个request的请求,然后请求资源,在该实例中,如果没有headers,发送请求,会显示404的错误信息,见不带header发送请求后服务端的响应内容:

d2cbc783328aaa6793bb8b2157312d05.png

见执行函数后的错误信息,显示为:

File "C:Python27lib甥汲楬b2.py

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/276785.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS3透明背景表单

在线演示 本地下载

r-studio扫描后各种颜色_iPhone手机备忘录,原来还隐藏着扫描仪,你不会还不知道吧?...

大家好,今天就来给大家讲一讲,iPhone手机备忘录里面的一个隐藏功能,大家对手机备忘录应该都不陌生吧,iPhone手机的备忘录里有一个扫描仪的功能,可以将纸质文档变成电子档,不知道的小伙伴就和我一起来看看吧…

今早新闻的翻译

踏切で人身事故 東上線乱れ4万人に影響  15日午前7時20分ごろ、東京都板橋区常盤台3丁目の東武東上線ときわ台―上板橋間の踏切で遮断機の下をくぐった女性が成増発池袋行き普通電車にはねられ…

TiDB 在小米的应用实践

作者:张良,小米 DBA 负责人;潘友飞,小米 DBA;王必文,小米开发工程师。一、应用场景介绍 MIUI 是小米公司旗下基于 Android 系统深度优化、定制、开发的第三方手机操作系统,也是小米的第一个产品…

java图片识别查看器模拟_[转载]windows照片查看器无法显示图片内存不足

问题描述最近在使用Windows照片查看器打开一个jpg文件的时候异常Windows照片查看器无法显示此图片,因为计算机上的可用内存可能不足。请关闭一些目前没有使用的程序或者释放部分硬盘空间(如果硬盘几乎已满),然后重试问题分析这时我们按F11或者图片下方中…

智能云改-docker云迁移实战

本次安装的linux版本是centos7.4,docker安装不依赖任何环境,但是必须要连接网络,满足这一点就可以进行docker安装了。 一、安装: 1.删除就版本的docker输入命令:yum -y remove docker \docker-common \docker-selinux …

python词频统计代码_python统计词频

一、程序分析 (1)将文件读入缓冲区(dst指文本文件存放路径,设置成形参,也可以不设,具体到函数里设置) def process_file(dst): # 读文件到缓冲区try: # 打开文件 txtopen(dst,"r") ex…

Oracle的resouce、unlimited tablespace 及如何把数据导入不同的表空间

resouce是角色,unlimited tablespace是权限。 很多人在进行数据迁移时,希望把数据导入不同于原系统的表空间,在导入之后却往往发现,数据被导入了原表空间。本例举例说明解决这个问题:1.如果缺省的用户具有DBA权限那么导入时会按照…

.net开发是做什么的_软件开发是什么, 该怎么做?

软件开发是什么, 该怎么做?1 引子关于什么是软件开发存在很多观点,有的认为软件开发即服务,有的认为软件开发即产品,有的认为软件开发即平台,这些观点各有各的侧重点。这篇文章我们来学习和探讨一下软件开发。2 软件…

使用HTML5、CSS3和jQuery增强网站用户体验

记得几年前如果你需要添加一些互动元素到你的网站中用来改善用户体验?是不是立刻就想到了flash实现?这彷佛年代久远的事了。使用现在最流行的Web技术HTML5,CSS3和jQuery,同样也可以实现类似的用户体验。而且使用这些特性将会比使用…

python中loop函数_python + Django 的forloop功能试验讲解

一、forloop功能详解记录 遇到一个问题困扰了我好久,结果还是知识盲区造成的。下边记录一下。 通过return forloop可以返回前端循环中的索引值 二、forloop大概功能 forloop是Django模板中一个功能,主要是可以计算循环的对象的索引值(大白话大…

[导入]源代码版本控制(二)

在VS6.0时代,VSS的版本是6.0,现在VS的版本都到2008了,VSS的版本目前是2005,这回以2005为例。安装就免了。数据库的创建:如果要在局域网内共享这个数据库,那还需要将刚才存放数据库的目录共享出去。为数据库…

苏宁的Node.js实践:不低于Java的渲染性能、安全稳定迭代快

前端 Node.js 的使用场景大多集中在前端工具上,当前的前端主要把它定位为辅助。苏宁易购使用 Node.js 作为前后端分离的主要手段,经历了从技术引进到全面开花,从边缘功能到核心业务,从纷乱到稳定的过程。同时 Node.js 作为新引入的…

MVP群聊某美国公司的应聘试题(压死九个还是一个)

某美国公司的应聘试题(压死九个还是一个),测试你的管理方式有二条铁轨,一条新的,一条旧的。有了新铁轨后,旧铁轨不再有火车通过。有一天有十个小孩到铁轨上玩耍,九个小孩在新铁轨上玩&#xff0…

html与cgi脚本的配合使用

利用boa服务器测试arm开发板上的cgi和html联合编程的小例程。很简单,但是当时觉得很有意思。在这里给大家展示一下,高手飘过。 在ubuntu下安装boa测试环境,即先在本地搭建一个boa的网页服务器。apt-get install boa。稍作配置即可。我的Boa按…

zabbix3监控ESXI主机

ESXI主机VMware公司企业级虚拟化的解决方案Vsphere的重要组件,也是虚拟机的宿主机,对其监控有着重要的意义,下边介绍二种方发对其监控。 方法一:通过修改服务端的控制项来进行监控。 虚拟机监控分两个步骤完成。首先,Z…

mybatis jar包_springboot2整合mybatis-plus3踩到的坑

前言最近在进行项目重构,在架构师的建议下,就把项目中mybatis切换成mybatis-plus。因为mybatis-plus在mybatis的基础上只做增强不做改变,因此切换的成本很低,就只需改jar和配置内容,原先的代码无需改动。因为mybatis-p…

共享几套silverlight2 toolkit最新的皮肤控件样式下载

下载了最新的silverlight2 toolkit看看,发现里面的控件样式还是多漂亮的,与大家分享下。 blue dark light orange purple red 样式源码下载:点击下载 当然,我最喜欢的还是orange哦。 转载于:https://www.cnblogs.com/liaohenchen/…

开会=浪费时间?阿里技术团队这样开项目复盘会

2019独角兽企业重金招聘Python工程师标准>>> 阿里妹导读:复盘是项目结束后必不可少的阶段,好的复盘会议能够有效地促进团队成长。今天,阿里项目管理专家鹿迦以自身的经验,为大家分享如何做好一个项目的复盘。这篇文章分…

Extjs中使用FusionChart举例

一 前言: 在项目实施中,设计统计部分经常会使用图表进行显示,在Extjs3中内置了图表控件,但实际表现无法达到3D的美观效果,通过查找FusionChart可以实现比较美观的3D或2D图表显示。注:FusionChart是个商业…