当前位置:编程学习 > C#/ASP.NET >>

高分 请教发送GET包到网页的的办法!

例如网站:www.abc.com
我用程序去访问他,HTTPWebResponse和HTTPWebResquse这两个类
其中伴随着COOKIE,还有GET包,一起发送
得到网页数据
以上是流程

但是:www.abc.com站上有一个CNZZ统计,我用程序访问后统计上不显示我曾访问过,我自己实验过,统计中没数据,就和没访问过一样,我要实现的就是我用程序访问了这个页面,怎么样让页面上的统计里也统计到我确实是访问了他了,我GET包也没数据,不知道是包的问题,还是这样做根本就不行

在此求教,C#.NET WinFrom程序,能实现程序访问页面并让页面统计到访问数据的人高分回报,就算用本人所有的分都可以,都加给你!求教求教 --------------------编程问答-------------------- 你首选要清楚他怎么做流量统计的,是单位时间内的独立ip的访问来算的还是一次request就算一次了?
楼主的排名看的不错,30000000位,吼吼 --------------------编程问答-------------------- 如果www.abc.com使用javascript做统计那就无能为力了
或干脆使用webbrowse --------------------编程问答--------------------

        private string templete =
@"GET {0} HTTP/1.1
Host:{1}
Connection:close
User-agent:Mozilla/4.0
Accept-language:zh-cn

";

详细请参考http://topic.csdn.net/u/20080905/15/2764f7a2-9927-4d70-b9e4-6218cc90abb8.html --------------------编程问答--------------------
不用WebBrower的话,要执行里面的脚本,你一个人就能写出来就是天才了。

HTTPWebResponse和HTTPWebRequest只负责把网页源码取下来,并不会执行其它操作。

你看看访问统计是不是简单的引用了一个脚本,如果是那样的话,再用HTTPWebRequest去读取那个脚本,参数带上就行。 --------------------编程问答-------------------- 确实就像LS说的一样,HttpWebResponse和HttpWebRequest是把网页源码取下来,如下函数:

private string SendPostData(string path, string strhtml)
        {
            HttpWebRequest httprequest = (HttpWebRequest)WebRequest.Create(path);

            httprequest.Method = "POST";
            httprequest.ContentLength = strhtml.Length;
            httprequest.ContentType = "application/x-www-form-urlencoded"; 
            Stream httprequeststream = httprequest.GetRequestStream();
            StreamWriter sw = new StreamWriter(httprequeststream);
            sw.Write(strhtml);
            sw.Close();
            HttpWebResponse httpresponse = (HttpWebResponse)httprequest.GetResponse();
            StreamReader sr = new StreamReader(httpresponse.GetResponseStream(), Encoding.Default);
            string backstr = sr.ReadToEnd();
            sr.Close();
            httpresponse.Close();
            return backstr;
        }

这样只能得到一个HTML的一个源码,并不执行别的东西,访问统计不好操作的 --------------------编程问答-------------------- 很感谢楼上各位的回答

统计是用CNZZ统计的,是JAVASRCIPT脚本的

就是个简单脚本~

用HTTPWebRequest去读那个脚本吗?

该怎么读和带参呢?

是否可以指点一下代码?

原理知道了,有了代码立刻结帖加分,再追加分! --------------------编程问答--------------------
----------------------

注意了这个你=是要执行那段统计的脚本代码。但是HTTPWebResponse和HTTPWebResquse这两个类是不会执行的,那只负责获取那页面的源代码啊。
所以基本是做不到。

不知道还有高人否! --------------------编程问答-------------------- 还有就是看能不能直接去GET那统计代码。 --------------------编程问答-------------------- GET没有包,get传参是url后直接跟参数的
POST倒是有参数包

首先你应该下载抓包工具,如httpwebrequest 分析出来ie正常请求该网站有哪些步骤用到哪些参数
然后你才可以修改你的程序向相同的地方提交相同的post包,就是模拟ie
至于httpwebrequest post数据的例子 你百度一下吧 有很多 我就不贴了 --------------------编程问答-------------------- http://blog.csdn.net/KimmKing/archive/2008/12/28/3630678.aspx


通过分析vs平台的网页注册方式,分析验证码,使用c#模拟表单提交,实现账号自动注册。


我们可以实现一个网络请求,附带上以上的各个所需信息,服务器即会认为是客户端浏览器提交了一个表单,进而为我们注册一个账号。

大概的步骤如下:

1、获取验证图片和cookie

2、分析验证码

3、模拟提交表单

4、分析是否成功


===============

cookie:

request.CookieContainer = container;

myHttpWebResponse.Cookies = container.GetCookies(request.RequestUri);

--------------------编程问答-------------------- get完那网站后,再get下统计代码。
或者直接get统计代码。 --------------------编程问答--------------------
引用 10 楼 KimmKing 的回复:
http://blog.csdn.net/KimmKing/archive/2008/12/28/3630678.aspx 


通过分析vs平台的网页注册方式,分析验证码,使用c#模拟表单提交,实现账号自动注册。 


我们可以实现一个网络请求,附带上以上的各个所需信息,服务器即会认为是客户端浏览器提交了一个表单,进而为我们注册一个账号。 

大概的步骤如下: 

1、获取验证图片和cookie 

2、分析验证码 

3、模拟提交表单 

4、分析是否成功 


==========…
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,