请问C#如何能采集到
http://ggzx.stock.hexun.com/more.jsp?t=0&k=600004&s=0
这个网站??/
我试了HttpWebRequest,WebRequest和Webclient都不行求解!!!
http://ggzx.stock.hexun.com/more.jsp?t=0&k=600004&s=0
这个网站??/
我试了HttpWebRequest,WebRequest和Webclient都不行求解!!!
解决方案 »
- 实现类似于QQ一样的弹窗口
- C#如何实现将textBox值作为binary类型,写入注册表?有人知道吗?
- 可以将一个SOCKET对像通过socket.Send()传递给客户端吗???
- 不怕兄弟们笑话,用了很长时间的.net,却还真没有太多体验到xml能具体地在我们的编程中做什么,讨教了!!!!!!!!!!!!!!!!!!!!!!!
- 高分求助!这种样子的表格标题怎么实现?
- 我做的web有个很怪的问题,大家帮帮我吧
- 高分請教高手
- 调用同一个工程下面的dll,报System.DllNotFoundException错误。为什么?
- 帮我来看看这段代码的含义
- Form的问题,我该怎么写?
- 初学.net,请大家帮个忙!
- 求一个,找出当前控件被包含的容器的递归
偶了解到这网站是用GZIP压缩的。。
求解
在Form中用webBrowser,不过是这用桌面软件的方法是下下策
压缩,哇咔咔,我长这么大还没见过哪个网站的页面是压缩过的.不管访问啥网站,返回的HTML都是文本格式的.
你只要模拟一下正常浏览器获取页面的方式就行了,就算用Sockets也能直接获取源码
int fileLength = 1024000;
byte[] buffer = new byte[fileLength]; // 这个数组存放数据
string html = string.Empty;
string url = "http://ggzx.stock.hexun.com/more.jsp?t=0&k=600004&s=0";HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();System.IO.Stream stream = httpWebResponse.GetResponseStream();
int readSize = 0;//本次从 Stream 读取到 buffer 中的长度
int readedTotalSize = 0;//已经从 Stream 读取的量
do
{
readSize = stream.Read(buffer, readedTotalSize, fileLength - readedTotalSize);
readedTotalSize += readSize;
}
while (readSize != 0); // 这里每次读一点数据,如果读不到数据就表示读完了httpWebResponse.Close();html = System.Text.Encoding.GetEncoding(charset).GetString(buffer, 0, buffer.Length); // 转成字符串
压缩的多了。百度、谷歌的就是压缩的。现在压缩很流行,iis7 默认就开启压缩。