时间:2016-02-15 23:47 来源: 我爱IT技术网 作者:佚名
欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【asp.net 需要登陆的网站上下载网页源代码和文件】,下面是详细的讲解!
asp.net 需要登陆的网站上下载网页源代码和文件
using System;
using System.IO;
using System.Net;
using System.Web;
public class SRWebClient
{
CookieContainer cookie;
public SRWebClient()
{
cookie=new CookieContainer();
}
/// <TgData>
/// <Alias>下载Web源代码</Alias>
/// </TgData>
public string DownloadHtml(string URL)
{
HttpWebRequest request=HttpWebRequest.Create(URL) as HttpWebRequest;
request.CookieContainer=cookie;
request.AllowAutoRedirect=false;
WebResponse res=request.GetResponse();
string r="";
StreamReader S1=new StreamReader(res.GetResponseStream(), System.Text.Encoding.Default);
try
{
r=S1.ReadToEnd();
}
catch (Exception er)
{
Log l=new Log();
l.writelog("下载Web错误", er.ToString());
}
finally
{
res.Close();
S1.Close();
}
return r;
}
/// <TgData>
/// <Alias>下载文件</Alias>
/// </TgData>
public long DownloadFile(string FileURL, string FileSavePath)
{
long Filelength=0;
HttpWebRequest req=HttpWebRequest.Create(FileURL) as HttpWebRequest;
req.CookieContainer=cookie;
req.AllowAutoRedirect=true;
HttpWebResponse res=req.GetResponse() as HttpWebResponse;
System.IO.Stream stream=res.GetResponseStream();
try
{
Filelength=res.ContentLength;
byte[] b=new byte[512];
int nReadSize=0;
nReadSize=stream.Read(b, 0, 512);
System.IO.FileStream fs=System.IO.File.Create(FileSavePath);
try
{
while (nReadSize > 0)
{
fs.Write(b, 0, nReadSize);
nReadSize=stream.Read(b, 0, 512);
}
}
finally
{
fs.Close();
}
}
catch (Exception er)
{
Log l=new Log();
l.writelog("下载文件错误", er.ToString());
}
finally
{
res.Close();
stream.Close();
}
return Filelength;
}
/// <TgData>
/// <Alias>提交数据</Alias>
/// </TgData>
public void Request(string RequestPageURL, RequestData Data)
{
string StrUrl=RequestPageURL;
HttpWebRequest request=HttpWebRequest.Create(StrUrl) as HttpWebRequest;
HttpWebResponse response;
string postdata=Data.GetData();
request.Referer=RequestPageURL;
request.AllowAutoRedirect=false;
request.UserAgent="Mozilla/4.0 (compatible; MSIE 6.01; Windows NT 5.0)";
request.CookieContainer=cookie;
Uri u=new Uri(StrUrl);
if (postdata.Length > 0) //包含要提交的数据 就使用Post方式
{
//作为表单请求
request.ContentType="application/x-www-form-urlencoded";
//方式就是Post
request.Method="POST";
//把提交的数据换成字节数组
Byte[] B=System.Text.Encoding.Default.GetBytes(postdata);
request.ContentLength=B.Length;
Stream SW=request.GetRequestStream(); //开始提交数据
SW.Write(B, 0, B.Length);
SW.Close();
}
response=request.GetResponse() as HttpWebResponse;
response.Close();
}
}
关于asp.net 需要登陆的网站上下载网页源代码和文件的用户互动如下:
相关问题:
答: >>详细
相关问题:
答: >>详细
相关问题:
答: >>详细
- 【asp】asp.net url重写浅谈-net-url重写
- 【DataSet】DataSet、DataTable、DataRow区别详解
- 【asp】asp.net 动态添加多个用户控件-net-动态添
- 【创建】ASP.NET Web API教程 创建域模型的方法详
- 【Asp】Asp.net 页面调用javascript变量的值-net-
- 【ASP】ASP.NET 5升级后如何删除旧版本的DNX-NET5
- 【404页面】ASP.NET设置404页面返回302HTTP状态码
- 【asp】asp.net开发中常见公共捕获异常方式总结(
- 【Visual】分享Visual Studio原生开发的10个调试
- 【全局】.net全局定时定期执行某些操作在Global.a
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
