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,一经查实,立即删除!

相关文章

破解MS Word 的只读密码限制

如果你有Microsoft Office XP 或者 Microsoft Office 2003,你可以使用Microsoft Script Editor 来查看(使用AltShiftF11 快捷键切换)被限制的Word 文档的HTML-Code。当Word 文档在Microsoft Script Editor打开后,搜索关…

CSS3透明背景表单

在线演示 本地下载

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

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

今早新闻的翻译

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

MySQL保留2位小数

1、round(x,d),四舍五入。round(x) ,其实就是round(x,0),也就是默认d为0 select round(110.35,1); # 110.4 2、TRUNCATE(x,d),直接截取需要保留的小数位 select TRUNCATE(110.35,1); # 110.3 3、FORMAT(x,d),四舍五入…

TiDB 在小米的应用实践

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

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

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

等宽字体

摘抄了一个编程用字体选择标准,供各位参考: 1. 所有字符等宽; 2. 简洁、清晰、规范的字符形体; 3. 支持ASCII码为128以上的扩展字符集; 4. 空白字符(ASCII: 0x20)与其他字符等宽; 5. 1、l和i等三个字符易于…

海量数据索引与近似最近邻随记

最近邻问题(NN) 将次数看成向量,然后我们就可以比对向量的距离(欧式距离,余弦距离)。数据中会有一些异常点,这些异常点会导致结果的不稳定。这种思想非常的不稳定,因为他只基于一个样本来做最后类别的判定。K最近邻算法(NN > K…

MySQL时间格式TIMESTAMP和DATETIME的区别

时区,timestamp会跟随设置的时区变化而变化,而datetime保存的是绝对值不会变化 自动更新,insert、update数据时,可以设置timestamp列自动以当前时间(CURRENT_TIMESTAMP)填充/更新 占用存储空间不同,timestamp储存占用…

python c 选择_C和Python,小白应该选择学习哪门语言?

首先,需要对两门语言进行初步认识,C语言是一门通用性的编程原因,为什么说通用呢?是因为它能够做很多低级、底层的处理,同时具有良好的跨平台性,C语言可以按照一定的标准在多种计算机平台上进行编译,包含嵌…

WaitForSingleObject的用法

WaitForSingleObject的用法 1.WaitForSingleObject 的用法 DWORD WaitForSingleObject(HANDLE hHandle, DWORD dwMilliseconds ); 参数 hHandle 是一个事件的句柄,第二个参数 dwMilliseconds 是时间间隔。如果时间是有信…

pom.xml里发布和下载包

1.下载包 在<project>标签中 <repositories><repository><id>nexus</id><url>http://10.39.93.105:8081/repository/maven-public/</url><releases><enabled>true</enabled></releases><snapshots>&l…

智能云改-docker云迁移实战

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

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

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

关于wpf,datagrid,双向数据绑定用法解决方案

参考&#xff1a;http://www.myexception.cn/c-sharp/1446457.html 核心内容&#xff0c;在绑定数据的地方添加双向绑定&#xff1a; {Binding BB, ModeTwoWay,UpdateSourceTriggerPropertyChanged} 转载于:https://www.cnblogs.com/Mindy-hym/p/11431069.html

部署zookeeper分布式节点

用2台服务器&#xff0c;低资源&#xff0c;部署3个zookeeper分布式节点&#xff1a; 1.准备环境系统已经配置好了JAVA环境&#xff1b;下载某个版本的zookeeper压缩包&#xff0c;下载链接&#xff1a;http://apache.claz.org/zookeeper/zookeeper-3.5.3-beta/zookeeper-3.5.3…

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

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

MySQL导入导出远程访问命令

1.导出整个数据库mysqldump -u 用户名 -p 数据库名 > 导出的文件名mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql2.导出一个表mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql3.导出一个数据库结…

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

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