c# 获取完整的网页源代码

webclient和webrequest和xmlhttp这些类都可以获取网页源代码,但有些网站是通过ajax实现内容获取的,那么上述这些能获取到网页通过ajax获取的内容... webclient和webrequest和xmlhttp这些类都可以获取网页源代码,但有些网站是通过ajax实现内容获取的,那么上述这些能获取到网页通过ajax获取的内容吗? 展开
 我来答
chinull
推荐于2016-04-22
知道答主
回答量:5
采纳率:0%
帮助的人:6.3万
展开全部
没问题,ajax获取的动态内容在网站没有特殊设置情况下,通过webclient webrequest等正常方式就可以获取,如有登录验证,等,则需要使用cookiecontainer,同时构造相同的参数和环境,通过模拟登录后,设置相应的cookie值,再进行请求
178rtrdux
2011-06-25 · TA获得超过2991个赞
知道大有可为答主
回答量:4327
采纳率:0%
帮助的人:0
展开全部
SOHU的页面使用了GZIP压缩,取到源码后,要进行解压
publicstaticstring GetGZipEncodedHTMLContent(Uri targetUri, Encoding encodeType)

{

HttpWebRequest wr = (HttpWebRequest)HttpWebRequest.Create(targetUri);

HttpWebResponse wsp = (HttpWebResponse)wr.GetResponse();

Stream st = wsp.GetResponseStream();

if (wsp.ContentEncoding.ToLower().Contains("gzip"))

{

st = newGZipStream(st, CompressionMode.Decompress);

}

StreamReader sr = newStreamReader(st, encodeType);

string result = sr.ReadToEnd();

return result;

}

如何判别某个网站是否使用了GZIP,可以获取其 Header来判别。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-07-06
展开全部
先问一下:是别人的网站吗?
如果是,你在客户端用javascript读取时会出现一个安全提示:该网页正在访问其控制范围以外的信息,这可能导致安全风险,是否继续?如果你不介意这个提示的话可以按以下思路来编程实现:
1.用XmlHTTP读取网站源码
2.用正则表达式过滤出超链接中的数字
3.将数字填入文本框

建议用服务器端代码实现以上功能,但不知你的服务器代码用何种语言,无法给出具体代码。我在ASP.NET中用C#实现过类似的功能。
另外,团IDC网上有许多产品团购,便宜有口碑
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ThinkIBM
2011-06-24 · TA获得超过5289个赞
知道大有可为答主
回答量:3263
采纳率:0%
帮助的人:5438万
展开全部
ajax也是请求网页地址,ajax能请求的内容,webrequest也能取得
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式