最近刚学到httpWebRequest,使用的时候遇到些麻烦,想请问各位大大看是怎么回事。正常情况下,页面抓取是没问题的, 但是有些网站似乎在request的时候必须要附带cookie,而要获得cookie,似乎必须要得到对方网站的response才行,那么,如果对方不给response怎么办呢?比如大众点评网,就不能直接获得response,这个时候,我要怎么做才能取得response呢?应该有办法的吧?不然google、baidu这些搜索引擎的bot怎么去它那爬啊。像点评网这样的网站,用ie可以正常浏览的,那么在本地的文件夹里面可以找到该网站的cookie,那么,可不可以把这样得来的cookie放到request里面去呢?可以的话怎么做才行得通? 不可以的话,又用什么方法呢?谢谢先:)还望大大不吝指点:)
解决方案 »
- url重写后 ,发布到iis 找不到网页
- 弱弱的问一下, 我用c#建的网站项目, 里面使用了button, 怎样控制坐标呢?
- Microsoft JScript 运行时错误: 对象不支持“Sonline”属性或方法
- 如何在服务器端异步返回一个变量?
- C#.NET ,ASP.NET QQ群
- datagrid超链接列变色问题
- DataList的ItemTemplate中button事件的捕获
- 在模板列中添加一个Button控件,为什么无法响应DataGrid的ItemCommand事件了?
- 有谁用过U盘或者IC卡加密与认证技术?
- 关于DataGrid列表中,在某一列放一个文本框,当点击文本框就进行编辑,编辑完后能不能按回车键(或失去焦点),就进入后台对当行数据进行
- 数据库里的网址绑定出来后,怎么会加很多空格?
- 为什么总是出现“MSDTC 事务的导入失败: Result Code = 0x8004d00e。”异常
大众点评网的服务器,可能有检查请求的 UserAgenthttpWebRequest.UserAgent = "Mozilla/4.0";
这样就能正常了。
WebResponse Wrs = Wrq.GetResponse();
Stream strm = Wrs.GetResponseStream();
StreamReader sr = new StreamReader(strm, System.Text.Encoding.GetEncoding("UTF-8"));
string allstrm;
allstrm = sr.ReadToEnd();
Referer: http://www.jxxgx.com/Default.aspx
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
If-Modified-Since: Fri, 14 Nov 2008 00:05:39 GMT
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MathPlayer 2.0; .NET CLR 2.0.50727; Chinarank Toolbar)
Host: www.jxxgx.com
Proxy-Connection: Keep-Alive
Pragma: no-cache
Cookie: cck_lasttime=1226624352557; cck_count=2; user=checked=no模拟下就OK了
有些请求页面需要上个请求页的数据这时候你需要先请求原始页面然后把原始页面返回的数据保存,在一起发送到下一个请求页面
XPingguo兄弟最先回答 就给你啦