思步网

标题: 一个HTTP相关测试代码的利用。 [打印本页]

作者: bzcyer    时间: 2011-7-1 18:14
标题: 一个HTTP相关测试代码的利用。
http://www.bzcyer.com/post/181.html
环境:VS2005+C#
起因:公司为代理上网,每个人分配帐号和密码。默认帐号为邮件@之前,密码为工号。这些可以通过公司黄页获取。但会出现两个问题,1、大部分人还是很聪明的修改了密码,不会默认为工号;2、帐号有流量限制,就算密码没有修改,没有流量也比较麻烦。每次从N多帐号中试哪个可用,非常麻烦。
设计思路:
C# 使用using System.Net,定义一个含有代理的HttpWebRequest,打开baidu,对比返回的HttpWebResponse中是否含有"百度一下,你就知道"。如果有则说明代理可用。
代码比较简单,就不解释了。
这里有4个问题:
1、不知道怎么用C#清理页面缓存,这个带来的问题就是只要找到一个可用帐号,后面的帐号就没法识别了,因为baidu的页面已经缓存在那边了。所以程序里只要找到一个就中断,反正一次也只能用一个帐号。其实一种取巧的方法是在自己博客里放上张网页,设置成不缓存的,应该能解决。不过在公司不能用ftp工具,有空在试吧。
2、帐号数据不多,简单点就没用线程去做了。页面也就卡个几秒最多。
3、这个其实是很早以前的想法,不过那时候写不来,现在几行代码就搞定了,但实际我不用这个代理上网又,闲的蛋疼。

4、想做个自动更换代理帐号的按键,但没找到windows的接口。
代码:  
  1. //读取帐号文件,以及页面显示。

  2. private void butLoad_Click(object sender, EventArgs e)



  3. {

  4.             string fileName = "Account.txt";

  5.             FileStream fs = new FileStream(fileName, FileMode.OpenOrCreate);

  6.             StreamReader sr = new StreamReader(fs);

  7.             string name, password, line;

  8.             string[] token;            

  9.             bool bFound = false;

  10.             while ((line = sr.ReadLine()) != null && bFound == false)

  11.             {

  12.                 token = line.Split(' ');

  13.                 name = token[0];

  14.                 password = token[1];

  15.                 if (isAvailable(name, password))

  16.                 {                               

  17.                     m_list.Items.Add("查找到一个可用帐号:");

  18.                     bFound = true;

  19.                     m_list.Items.Add(name + " / " + password);

  20.                     butLoad.Enabled = false;

  21.                     m_name.Text = name;

  22.                     m_passpw.Text = password;                  

  23.                 }

  24.             }

  25.             sr.Close();

  26.             fs.Close();

  27. }
复制代码




  1. //判断代理是否可用

  2. private bool isAvailable(string name, string password)

  3. {

  4.             string url = "http://www.baidu.com";

  5.             HttpWebRequest hwr = (HttpWebRequest)HttpWebRequest.Create(url);

  6.             hwr.Timeout = 50000;

  7.             WebProxy proxy = new WebProxy();

  8.             proxy.Address = new Uri("http://10.0.0.108:8080");

  9.             proxy.Credentials = new NetworkCredential(name, password, "ecc");

  10.             hwr.UseDefaultCredentials = true;

  11.             hwr.Proxy = proxy;

  12.             bool isSuccess = true;

  13.             HttpWebResponse hwrs = null;

  14.             try

  15.             {

  16.                   hwrs = (HttpWebResponse)hwr.GetResponse();

  17.             }

  18.             catch

  19.             {

  20.                 //MessageBox.Show("无法连接代理!");

  21.                 isSuccess = false;

  22.             }

  23.             if (isSuccess)

  24.             {

  25.                 string strCheck = "百度一下,你就知道";

  26.                 Stream s = null;

  27.                 s = hwrs.GetResponseStream();

  28.                 StreamReader sr = new StreamReader(s, Encoding.Default);

  29.                 string str = null;

  30.                 str = sr.ReadToEnd();

  31.                 int iFind = str.IndexOf(strCheck);

  32.                 if (iFind != -1)

  33.                 {

  34.                     return true;

  35.                 }

  36.                 else

  37.                     return false;

  38.             }

  39.             else

  40.                 return false;

  41. }
复制代码






作者: bzcyer    时间: 2011-7-1 18:17
参考:《。NET软件测试自动化之道》 第五章 请求-响应测试
作者: tyfitsb    时间: 2012-12-20 11:04
嗯,这个不错
作者: norlanslimg    时间: 2013-4-2 09:00
不错 支持一个了
作者: 痰盂    时间: 2014-4-14 19:07
很有借鉴意义,先收藏了,谢谢楼主。
作者: 牧野静风    时间: 2014-7-11 18:54
路过 帮顶 嘿嘿
作者: 超越梦想、    时间: 2014-8-1 18:39
还不错哦,如果再能多分享一些就perfect了!
作者: 丘岳    时间: 2014-9-14 16:40
不错 支持一个了
作者: 心里向阳    时间: 2014-11-19 16:37
很有借鉴意义,先收藏了,谢谢楼主。
作者: 不做帝王妾    时间: 2014-12-1 22:59
路过 帮顶 嘿嘿
作者: 别低头    时间: 2014-12-25 10:19
有空一起交流一下。
作者: 阿Q精神    时间: 2015-3-19 12:48
路过 帮顶 嘿嘿
作者: 童年勾勒了    时间: 2015-11-29 19:34
以我的经验来看,楼主的想法是可以执行的~
作者: 风之引力    时间: 2015-12-10 21:50
看了LZ的帖子,我只想说一句很好很强大!
作者: 李珊    时间: 2016-1-22 16:35
前排支持下了哦~
作者: 畏光    时间: 2016-5-21 15:05
向楼主学习
作者: 拿红颜乱浮生    时间: 2016-9-2 12:25
very good.
作者: 那位红颜    时间: 2016-12-11 16:53
打酱油的人拉,顺便赚点金币
作者: 花心筒    时间: 2016-12-19 10:55
好帖是需要鼓励的~
作者: -浪漫果味C    时间: 2017-4-3 16:11
确实不错,顶先
作者: 海沫深@    时间: 2017-5-17 10:47
不错 支持一个了
作者: 水木    时间: 2017-6-24 18:35
好帖是需要鼓励的~
作者: 瑹歌    时间: 2017-7-26 19:54
没人回帖。。。我来个吧!
作者: 采女孩的大蘑菇    时间: 2017-8-23 17:42
确实不错,顶先
作者: 旧城人凉    时间: 2017-9-28 10:04
学习下我只是路过,不发表意见……
作者: 、唱忐忑    时间: 2017-12-15 18:05
鼎力支持!!
作者: 黛尽青丝@    时间: 2017-12-23 21:55
不错 支持一个了
作者: 我命本喜    时间: 2018-1-19 17:55
非常好,顶一下占位编辑
作者: 够钟!    时间: 2018-4-25 07:12
鼎力支持!!
作者: 性格有点左    时间: 2018-4-29 16:06
路过的帮顶
作者: 掐死时间    时间: 2018-5-29 22:26
前排支持下了哦~
作者: 海内比邻    时间: 2018-6-28 12:41
向楼主学习
作者: 漫长的青春。    时间: 2018-8-18 18:02
以我的经验来看,楼主的想法是可以执行的~
作者: 感情洁癖者i    时间: 2018-8-25 20:39
不错 支持一个了
作者: 我不是壞女孩    时间: 2018-8-26 18:21
这么强,支持楼主,佩服
作者: 森迷@    时间: 2018-8-27 22:22
看了LZ的帖子,我只想说一句很好很强大!
作者: 巛封神狼王巛    时间: 2018-9-22 11:52
very good.
作者: 入花庭    时间: 2018-11-24 07:03
very good.
作者: 丁格    时间: 2019-1-2 09:53
鼎力支持!!
作者: 我要专一了    时间: 2019-3-8 20:23
非常好,顶一下占位编辑
作者: 哀大莫过于心死    时间: 2019-3-9 10:48
非常好,顶一下占位编辑
作者: ‘黑白交錯℡    时间: 2019-6-18 21:17
这么强,支持楼主,佩服
作者: 安然    时间: 2019-6-29 15:40
向楼主学习
作者: 清泊    时间: 2019-7-9 18:52
有空一起交流一下。
作者: 后排男生〃    时间: 2019-8-11 16:21
我是个凑数的。。。
作者: 龟兔    时间: 2019-10-11 10:50
确实不错,顶先
作者: 魅╰美。    时间: 2019-10-30 19:54
不错 支持一个了
作者: 迷惑    时间: 2019-11-3 22:39
看起来好像不错的样子
作者: 源泉    时间: 2019-11-11 19:26
好帖是需要鼓励的~
作者: 令狐帅帅    时间: 2020-1-17 13:08
看起来不错
作者: 人亦已歌    时间: 2020-2-19 14:43
好帖是需要鼓励的~
作者: 友情保质期i    时间: 2020-5-30 20:33
前排支持下了哦~
作者: 永远的蔷薇    时间: 2020-10-25 22:07
好帖是需要鼓励的~
作者: 温暖忧伤    时间: 2020-10-30 09:16
很有借鉴意义,先收藏了,谢谢楼主。
作者: 彼岸蔷薇    时间: 2021-1-3 17:33
我了个去,顶了
作者: BABY衣    时间: 2021-3-17 22:41
其实,很多情况下都是这样的,习惯就好。
作者: 爱...    时间: 2021-3-27 18:22
路过 帮顶 嘿嘿
作者: 执迷不悔    时间: 2021-3-30 07:07
确实不错,顶先
作者: 叛逆、、、    时间: 2021-4-1 18:52
看帖要回,回帖才健康,在踩踩,楼主辛苦了!
作者: 孤岛    时间: 2021-5-22 21:05
很有借鉴意义,先收藏了,谢谢楼主。
作者: 蓝风    时间: 2021-5-23 13:04
看了LZ的帖子,我只想说一句很好很强大!




欢迎光临 思步网 (http://www.step365.com/) Powered by Discuz! X3.2