Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1013588
  • 博文数量: 157
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1388
  • 用 户 组: 普通用户
  • 注册时间: 2015-04-09 15:37
文章分类

全部博文(157)

文章存档

2023年(9)

2022年(2)

2021年(18)

2020年(7)

2017年(13)

2016年(53)

2015年(55)

我的朋友

分类: 服务器与存储

2015-08-12 13:49:06

python脚本模拟发送http请求:
rqUrl=/test/test.mp4
rqHeaders={'Host':test.com'}
httpClient = httplib.HTTPConnection(proxyIp,proxyPort,timeout=30)
httpClient.request("GET",rqUrl,rqBody,rqHeaders) 
response = httpClient.getresponse()
httpClient.close()  --位置1
re=response.read()
httpClient.close() --位置2
print re
print len(re)

结果显示re为空,长度为0,开始考虑是不是httpclient没有关闭,类似文件没有关闭获取不到值那样,加入httpClient.close(),注意有两个位置可以放,如果选择位置1,则re值为空,所以httpClient.close()要放在位置2上才不会影响re(相应body)值的获取(后来发现即使不close连接,re还是可以获取到的)
忽然想起了是不是类型不支持获取不到,因为我请求Url=/test/test.html,成功了,content_type、accept这两个请求头信息加上,后来测试发现不加也可以
再次排除问题,我是在测试ats的插件,插件功能需要提取到user-agent和referer的值,但是我没有添加这两个头,所以获取不到值请求返回403,因为403所以没有body内容所以re为空

这个问题还和同事争论了一场,我从没有怀疑过是插件的问题,感觉用wget和用脚本发送请求是一样的,忽略了wget不带user-agent头也可以获取到值
总结:出现问题了,要敢于怀疑每一个细节,因为每一处细节都可能是导致问题出现的原因
阅读(6859) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~