httpWebRequest获取流和WebClient的文件抓取 昨天写一个抓取,遇到了一个坑,就是在获取网络流的时候,人为的使用了stream.Length来获取流的长度,获取的时候会抛出错误,查了查文档,原因是某些流是无法获取到数据的长度的,所以不能直接得到.如果是常和stream打交道就能避免这个问题.其实直接使用do-while来获取就行了,代码如下: int i=0; do { byte[] buffer = new byte[1024]; i = stream.Read(buffer
前面使用HttpWebRequest 对象可以抓取网页中一些资料,不过有些页面可以直接打开,而有些页面必登录之后才能打开,也就是在登录后保存登录信息在Session,这样就可以访问有权限的页面了.下面通过HttpWebRequest获取网页内容并保持session,最主要的就是存储cookie.第二次请求网页的时候把cookie传送过去,这样就可以访问有Session的页了. CookieContainer cookies = new CookieContainer(); private voi
通过HttpWebRequest获取网页内容并保持session,最主要的就是存储cookie.这里使用了一个静态变量m_Cookie用来存储cookie的内容.第二次请求网页的时候把cookie传送过去,这样就可以保持session. public partial class RequestPage : System.Web.UI.Page { private static CookieContainer m_Cookie = new CookieContainer(); private st
C#写一个采集器 using System; using System.Collections.Generic; using System.Text; using System.Net; using System.Web; using System.IO; using System.Collections; using System.Text.RegularExpressions; namespace chinaz { class Program { static void Main(strin