Python的网络编程的最典型应用就是搜索引擎的网络爬虫了。 对于个人而言,更多的是利用python编程操作浏览器的HTTP请求 ,这其中有如下三种主要场景:
1. 请求页面场景:这种场景通常是直接对URL页面的请求,通常不包含用户私有化的交易数据,通常使用浏览器请求的GET方式 。
2. 数据提交场景:这种场景通常是浏览器展示的页面上的用户输入要素提交后台的过程,这种提交可以有两种方式 ,简单的方式是GET方式,只需要将提交页面的目标URL附加上输入要素即可, 复杂的方式是POST方式,需要在HTTP通信体中包含提交的用户输入要素。这其中用户数据格式又有 JSON等格式。
3. 模拟浏览器用户输入和点击等场景:这种场景的目的是数据的输入,目标数据输入后,实际应用的结果是转化成了上述的数据提交场景。
所以,场景3实现了用户视觉化的提交,而场景2可以实现用户非视觉化的提交。如果在在场景1和场景2之间实现一个数据程序写入的过程。则3个场景的过程就完全转化为2个场景的过程。
一个典型的历经三个场景的过程是用户登陆的过程:
可以看到,在登录以后,写邮件或处理邮件的过程,又是场景1到场景3的重复,但与登录不同的是,写邮件或处理邮件的过程会包含数据处理的过程。 要实现数据自动处理过程,就要实现页面接入数据的读取与分析,浏览器的网络捕获器可以辅助实现该功能,有助于python编程人员进行数据读取与分析,而无需再安装专门的网络截包软件、代理软件或专用性能测试之软件,从而较方便快捷地实现2场景的编程过程和调试过程。
Python对场景1的编程过程示范代码如下:
import urllib.request
import urllib.request
booksurl=";
response = urllib.reque(booksurl)
html = re()
#print(html)
htmlstr=()
Python对场景2的编程过程示范代码如下:
1.GET方式:
import urllib.request
booksurl=";
response = urllib.reque(booksurl)
html = re()
#print(html)
htmlstr=()
2.POST 方式示例 1:
3.POST方式示例2:
在上述代码中看到的HTTP头,就可以用浏览器的网络捕获器工具得到,在调试过程中,代码调试不正确时,得不到HTTP的正确返回,此时同样可以通过浏览器提交请求,用浏览器的网络捕获器工具截HTTP通信内容,分析问题。
下面是IE浏览器和Google浏览器的网络捕获器工具的用法。
1、IE浏览器网络捕获器:
通过IE菜单
点"网络"页,的"开始捕获"按钮
主要看"请求标头""请求正文"和"响应正文"页,这些信息可以拷到Python程序中使用。
最后,可以用"停止捕获"按钮结束捕获过程。
2. Google浏览器网络捕获器:
通过Google浏览器的菜单
这时,看到浏览器分栏了,在右栏就是捕获器
在浏览器执行网页操作,右边捕获器就可捕获到网络访问。
选择其中一个网络访问,下图就出现该HTTP访问的头(Headers)及响应(Response)等信息。这些信息可以拷到Python程序中使用。
最后,可以用浏览器分栏的右栏上面的红色圆点按钮结束捕获过程。
小结:
Google 和 IE 浏览器的网络捕获器都可以实现 HTTP 捕获功能,捕获的结果可以在python编程中使用,比较方便,根据笔者经验,在Web应用兼用性不好,IE访问截获有障碍时,用Google浏览器实现HTTP捕获会有很好效果。
请关注+私信回复:“测试”就可以免费拿到软件测试学习资料