使用C#获取远程图片 Form用户名与密码Authorization认证的实现
使用C#获取远程图片 Form用户名与密码Authorization认证的实现
发布时间:2016-12-28 来源:查字典编辑
摘要:C#获取远程图片,需要Form用户名和密码的Authorization认证复制代码代码如下:usingSystem;usingSystem....

C#获取远程图片,需要Form用户名和密码的Authorization认证

复制代码 代码如下:

using System;

using System.Collections.Generic;

using System.Drawing;

using System.IO;

using System.Linq;

using System.Net;

using System.Text;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

namespace Web.App_Code

{

public partial class GetFlexImage : System.Web.UI.Page

{

public static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

protected void Page_Load(object sender, EventArgs e)

{

if(Request["IMG"]==null||string.IsNullOrEmpty(Request["IMG"]))

{

return;

}

try

{

string url = (Request["IMG"]).Replace("%","%25");

HttpWebRequest WRequest;

HttpWebResponse response = null;

Uri uri = new Uri(url);

CredentialCache cc = new CredentialCache();

cc.Add(uri, "Basic", new NetworkCredential("epapi", "密码"));

WRequest = (HttpWebRequest)HttpWebRequest.Create(uri);

WRequest.Credentials = cc;

WRequest.PreAuthenticate = true;

WRequest.Method = "POST";

WRequest.AllowWriteStreamBuffering = false;

WRequest.SendChunked = false;

WRequest.KeepAlive = true;

WRequest.ContentLength = 0;

//WRequest.SendChunked = true;

//WRequest.ContentLength = 100000;

WRequest.Timeout = 30000;

WRequest.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(new ASCIIEncoding().GetBytes("epapi:epapiadmin")));

try

{

response = (HttpWebResponse)WRequest.GetResponse();

}

catch (WebException er)

{

response = (HttpWebResponse)er.Response;

}

Bitmap myImage = new Bitmap(response.GetResponseStream());

MemoryStream ms = new MemoryStream();

myImage.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);

Response.ClearContent();

Response.ContentType = "image/gif";

log.Debug("图片加载:" + (Request["IMG"]));

Response.BinaryWrite(ms.ToArray());

}

catch(Exception err) {

log.Debug("图片加载异常:" + Server.HtmlDecode(Request["IMG"]) + err.Message);

}

}

}

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新C#教程学习
热门C#教程学习
编程开发子分类