• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > 使用C#获取远程图片 Form用户名与密码Authorization认证的实现

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

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了authorization,authorization failed,authorization letter,no authorization,pre authorization等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

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

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);
            }
        }
    }
}
</div>

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

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

相关文章

  • 2017-05-28C#实现将javascript文件编译成dll文件的方法
  • 2017-05-28C#函数式编程中的惰性求值详解
  • 2017-05-28c#进度条 progressBar 使用方法的小例子
  • 2017-05-28C#实现把指定数据写入串口
  • 2017-05-28C#利用时间和随即字符串创建唯一的订单编号
  • 2017-05-28C#中无边框窗体移动的简单实例
  • 2017-05-28C#装饰器模式(Decorator Pattern)实例教程
  • 2017-05-28C#动态生成PictureBox并指定图片的方法
  • 2017-05-28WPF的ListView控件自定义布局用法实例
  • 2017-05-28c#图像截取实例

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#中Byte[]和String之间转换的方法
    • 不使用qvod播放器获取qvod播放路径的方法
    • C#使用windows服务发送邮件
    • C#检测两个矩阵是否相等的方法
    • C#读写INI文件的方法
    • C#使用semaphore来管理异步下载请求的方法
    • C#常用的命名规则汇总
    • C#模板方法模式(Template Method Pattern)实例教程
    • 深入c#工厂模式的详解
    • C#利用win32 Api 修改本地系统时间、获取硬盘序列号

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有