源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

使用C#获取远程图片 Form用户名与密码Authorization认证的实现

  • 时间:2021-09-13 06:59 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:使用C#获取远程图片 Form用户名与密码Authorization认证的实现
[b]C#获取远程图片,需要Form用户名和密码的Authorization认证 [/b]
[u]复制代码[/u] 代码如下:
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);             }         }     } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部