在接口测试中或者说在网络爬虫中,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/切换城市,见抓取的信息,见截图:

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

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

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

http的状态码: 200

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

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

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

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

File "C:Python27lib甥汲楬b2.py

python调用api应用接口_Python接口测试之urllib2库应用相关推荐

  1. python调用linuxapi_Linux上使用python调用WPS二次开发接口

    原文链接Linux上使用python调用WPS二次开发接口 - C++ Programer​www.cryfeifei.cn 环境Ubuntu18.04 WPS For Linux Python3 简 ...

  2. Python调用周立功CAN接口卡接口库函数(接收数据)

    上篇博文<Python调用周立功CAN接口卡接口库函数>仅做了发送数据例程,有网友在测试接收时出现了问题,在此给出自己的接收数据代码. 在此需要强调的是,因为经济水平有限,自己所使用的CA ...

  3. Python调用API打造一个语音合成系统(百度智能云)

    Python调用API打造一个语音合成系统(百度智能云) 将文字转换成各种不同味道(大叔型,萝莉音,精神小伙型等)的语音. 申请一个百度智能云账号 使用Python开发一款智能语音合成系统,所以需要P ...

  4. 如何利用python调用API接口获取数据进行测试

    一.Python 可以使用 requests 库来调用 API 接口获取数据.以下是基本的步骤: 1.安装 requests 库 pip install requests 2.导入 requests ...

  5. python调用文件下载接口_python接口自动化21-下载excel文件(Content-Type:octets/stream)...

    前言 Content-Type类型为octets/stream,这种一般是文件类型了,比如有时候需要导出excel数据,下载excel这种场景如何用python来实现呢? 抓下载接口 1.下载的场景如 ...

  6. Python调用API接口的几种方式

    本文主要介绍python中调用API的几种方式,下面是python中会用到的库. 1.urllib2 import urllib2, urllib github_url = 'https://api. ...

  7. Python调用周立功CAN接口卡接口库函数

    偶尔会用到周立功CAN接口卡,于是试着使用Python调用其接口函数.查阅CAN测试软件与接口函数使用手册,只讲述了VC和VB的调用方法.在这里通过ctypes模块导入动态链接库并访问动态链接库中的函 ...

  8. python会调用linuxapi吗_RouterOS之python调用API

    本文主要讲述官方提供的客户端以及自己写的增删查改工具: ros_tool.py 功能总汇,展示界面用了python的GUL,模块用的为  tkinter  模块 其他文件为单个功能文件. 链接:htt ...

  9. python调用dll函数指针_python使用ctypes库调用DLL动态链接库

    最近要使用python调用C++编译生成的DLL动态链接库,因此学习了一下ctypes库的基本使用. ctypes是一个用于Python的外部函数库,它提供C兼容的数据类型,并允许在DLL或共享库中调 ...

最新文章

  1. 为什么很多优秀的人,都把闹钟定在早晨5:57 ?
  2. spring注解源码分析--how does autowired works?
  3. 阿里云在应用扩缩容下遇到的挑战与选型思考
  4. 678. 有效的括号字符串
  5. SpaceVim 1.1.0 发布,模块化 Vim IDE
  6. 23-Ubuntu-文件和目录命令-查看文件内容-more 和 cat
  7. 使用 C-JDBC 给 Mysql 集群
  8. STM32CubeMX GPIO的使用
  9. 计网复习第三章part one
  10. 自己写的一个ffmpeg时间戳分析工具
  11. java程序员专业技能_java程序员简历专业技能怎么写
  12. PhotoShop中批量导出图片
  13. duet连win10_该来的总算来了——Apogee Duet全新Windows 10操作指南
  14. 关于Pyrene-PEG2/PEG3/PEG4/PEG5-azide化学式,分子量等相关对比总结
  15. PLC中忘记cpu密码怎么办?
  16. LaTeX数学公式常用符号
  17. js 手机虚拟键盘控制
  18. android导入html文件怎么打开,Android浏览器如何打开本地html文件
  19. 推荐收藏 | 掌握这些步骤,机器学习模型问题药到病除
  20. php数据库中有痣但是有时取不到,怎么判断脸上的痣会不会癌变?有这些情况就要警惕是皮肤癌...

热门文章

  1. 细节决定成败—关于.net的.dll.refresh文件
  2. 安卓APP_ 控件(7)——Toolbar栏目样式
  3. 怎么确保一个集合不能被修改
  4. 电脑小白来一起学习计算机基础知识!
  5. api zabbix 拓扑图 获取_zabbix网络拓扑图配置-Maps(示例代码)
  6. Android 第十五课 如何使用LitePal从SQLite数据库中删除数据(十四课用来保留讲解如何向SQLite数据库中存入数据)
  7. LINQ之路 5:LINQ查询表达式
  8. Python简单试题3
  9. Chrome OS 设备或将允许用户自行选择 Linux 发行版
  10. linux java环境变量设置