- HttpWebRequest/HttpWebResonse
- WebBrowser
- com组件
第一种方式HttpWebRequest/HttpWebResonse
这种方式最常见也可能是最常用的。使用方式大概如下:
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(Url);
HttpWebResponse response =(HttpWebResponse) request.GetResponse();
Stream receviceStream = response.GetResponseStream();
StreamReader readerOfStream = new StreamReader(receviceStream, System.Text.Encoding.GetEncoding("utf-8"));
string strHTML = readerOfStream.ReadToEnd();
readerOfStream.Close();
receviceStream.Close();
response.Close();
这里写的是普通的调用方式,并没有涉及到Cookie以及相关表单处理
第二种方式WebBrowser
这种方式,我主要是用用来处理 网页中的元素的点击事件(如 树形结构)
第三种方式com组件
第三种方式也是最近在尝试的一种方式 就是使用微软的com组件,进行爬取和开发。为什么写第三种方式,是因为在有些网站的表单提交、cookie 处理不是很方便在第一种和第二种方式都处理不方便的,不妨试一下。
当时的想法就是既然通过代码需要记录cookie 传递cookie,为什么不直接使用浏览器本身的cookie呢。
相关com引用
Microsoft HTML Object Library
Microsoft Internet Controls
相关处理API
Navigate (URL [, Flags] [, TargetFrameName] [, PostData] [, Headers])
跳转到指定的URL。是以下常量或值之一:navOpenInNewWindow = 1 navNoHistory = 2 navNoReadFromCache = 4 navNoWriteToCache = 8 TargetFrameName是一个字符串,用于指定将显示结果的框架的名称。PostData是使用HTTP post事务发送的数据。标题是指定要发送的HTTP标头的值。