十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
在HttpWebRequest.GetResponse运行完毕之后,就表示网页已经加载完毕了。
成都地区优秀IDC服务器托管提供商(成都创新互联).为客户提供专业的成都二枢机房,四川各地服务器托管,成都二枢机房、多线服务器托管.托管咨询专线:028-86922220
如果是异步获取HttpWebResponse,那么在HttpWebRequest.EndGetResponse之后也表示网页加载完毕了。
Public Function webCaptureContent(ByVal mWebsiteUrl As String, ByVal mWebsiteType As Boolean) As String
'启动一次具体的数据采集工作,返回采集到的HTML内容:要求必须输入带://的全地址数据
On Error Resume Next
Dim Str_WebContent As String = "请输入查找网站地址."
Dim wb As WebClient = New WebClient() '//创建一个WebClient实例
If mWebsiteUrl.IndexOf("://") 0 Then
'//获取或设置用于对向 Internet 资源的请求进行身份验证的网络凭据。(可有可无)
wb.Credentials = CredentialCache.DefaultCredentials
'//从资源下载数据并返回字节数组。(加@是因为网址中间有"/"符号)
Dim pagedata As Object = wb.DownloadData(mWebsiteUrl)
'//转换字符
If mWebsiteType Then
Str_WebContent = Encoding.Default.GetString(pagedata)
Else
Str_WebContent = Encoding.UTF8.GetString(pagedata)
End If
End If
Return Str_WebContent '提取出来新闻内容,删除Body前后的多余内容,同时补充上该 Body标记,形成完整的内容 Str_WebContent '
End Function
老实说不一定要webBrowser,这是Windows下载文件界面啊,不是VB.Net画出来的。
真的是做下载文件,WebClient.DownloadFile方法就足够了,调用方法后会自动弹出Windows下载任务窗口。
在VS.NET里也提供了一个com接口,可以直接调用迅雷的dll,下载文件可以让你自由选择是用迅雷下载还是通过Windows下载任务来执行下载。
webBroser下载文件
FileInfo file = new System.IO.FileInfo(Server.MapPath(path));
if (File.Exists(Server.MapPath(path)))
{
string name = Path.GetFileName(Server.MapPath(path));
//存在文件
Response.Clear();
Response.Buffer = false;
//通知浏览器下载文件而不是打开
Response.ContentType = "application/octet-stream";
//下载的文件名
Response.AppendHeader("content-disposition", "attachment;filename=" + name);
//文件的大小
Response.AppendHeader("Content-Length", file.Length.ToString());
Response.WriteFile(path);
}
介绍一个更简单的方法给你,从webbrowser获取点击的超连接,然后自由选择下载,先在引用里引用com组件
然后在点击事件中加代码
string url = webBrowser1.Document.Links[1].GetAttribute("href");
ThunderAgentLib.AgentClass agent = new ThunderAgentLib.AgentClass();//创建对象
agent.AddTask(url, "默认保存文件名", "C:\\默认路径", "", "", 1, 0, 5);
agent.CommitTasks2(1);//提交
我用的是C#代码,VB.NET大同小异