c# 获取完整的网页源代码
webclient和webrequest和xmlhttp这些类都可以获取网页源代码,但有些网站是通过ajax实现内容获取的,那么上述这些能获取到网页通过ajax获取的内容...
webclient和webrequest和xmlhttp这些类都可以获取网页源代码,但有些网站是通过ajax实现内容获取的,那么上述这些能获取到网页通过ajax获取的内容吗?
展开
4个回答
展开全部
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来判别。
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网上有许多产品团购,便宜有口碑
如果是,你在客户端用javascript读取时会出现一个安全提示:该网页正在访问其控制范围以外的信息,这可能导致安全风险,是否继续?如果你不介意这个提示的话可以按以下思路来编程实现:
1.用XmlHTTP读取网站源码
2.用正则表达式过滤出超链接中的数字
3.将数字填入文本框
建议用服务器端代码实现以上功能,但不知你的服务器代码用何种语言,无法给出具体代码。我在ASP.NET中用C#实现过类似的功能。
另外,团IDC网上有许多产品团购,便宜有口碑
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ajax也是请求网页地址,ajax能请求的内容,webrequest也能取得
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询