Web后台模拟前端post(带NTLM验证)
- using System.Data;
- using System.Net;
- using System.IO;
- using System.Net.Http;
- using System.Web;
- using System.Collections.Specialized;
- using System.Web.Script.Serialization;
- using System.Collections;
- public string ToPackageJson(DataTable dt) //封装Json
- {
- Dictionary<string, string> dic1 = new Dictionary<string, string>();
- foreach (DataRow dr in dt.Rows)
- {
- foreach (DataColumn dc in dt.Columns)
- {
- dic1.Add(dc.ColumnName, dr[dc.ColumnName].ToString());
- }
- }
- Dictionary<string, object> dic2 = new Dictionary<string, object>();
- dic2.Add(dt.TableName, dic1);
- JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
- javaScriptSerializer.MaxJsonLength = Int32.MaxValue; //取得最大数值
- return javaScriptSerializer.Serialize(dic2); //返回一个json字符串 {"dt.TableName":{"列名1":"列值1","列名2":"列值2","列名n":"列值n"}}
- }
- public string ToPost(string postURL,string NTLM_UserName,string NTML_PassWord,DataTable dtToPost)
- {
- //封装Json
- string strJson = ToPackageJson(dtToPost);
- //通过NTLM验证
- //1、创建空白的网站证书缓存
- System.Net.CredentialCache MyCredentialCache = new System.Net.CredentialCache();
- //指定以b2c用户通过NTLM身份验证
- MyCredentialCache.Add(new System.Uri(postURL), "NTLM", new System.Net.NetworkCredential(NTLM_UserName, NTML_PassWord));
- HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(postURL);
- httpWebRequest.Credentials = MyCredentialCache;
- httpWebRequest.Method = "POST";
- httpWebRequest.ContentType = "application/json;charset=UTF-8";
- //httpWebRequest.Headers.Add(HttpRequestHeader.Authorization, authStr); //auth权限验证
- //将Json字符串转化为字节
- byte[] postDataByte = Encoding.UTF8.GetBytes(strJson);
- httpWebRequest.ContentLength = postDataByte.Length;
- httpWebRequest.AllowAutoRedirect = false;
- httpWebRequest.KeepAlive = true;
- httpWebRequest.ContentLength = postDataByte.Length;
- //获取用于写入请求数据的Stream对象
- Stream writer = httpWebRequest.GetRequestStream();
- //将请求参数写入流
- writer.Write(postDataByte, 0, postDataByte.Length);
- //关闭请求流
- writer.Close();
- //http响应所返回的字符流
- string responseResult = "";
- HttpWebResponse response = null;
- try
- {
- //获取http返回的响应流
- response = (HttpWebResponse)httpWebRequest.GetResponse();
- }
- catch (WebException ex)
- {
- response = (HttpWebResponse)ex.Response;
- }
- //读取响应流内容
- StreamReader sr = new StreamReader(response.GetResponseStream());
- responseResult = sr.ReadToEnd();
- //关闭读取器
- sr.Close();
- return responseResult;
- }
Web后台模拟前端post(带NTLM验证)的更多相关文章
- [转]Web后台模拟前端post(带NTLM验证)
本文转自:http://www.cnblogs.com/pzstudyhard/p/4805885.html using System.Data; using System.Net; using Sy ...
- 购物车Demo,前端使用AngularJS,后端使用ASP.NET Web API(3)--Idetity,OWIN前后端验证
原文:购物车Demo,前端使用AngularJS,后端使用ASP.NET Web API(3)--Idetity,OWIN前后端验证 chsakell分享了前端使用AngularJS,后端使用ASP. ...
- web的前台、后台、前端、后端
前台:呈现给用户的视觉和基本的操作.后台:用户浏览网页时,我们看不见的后台数据跑动.后台包括前端,后端.前端:对应我们写的html .javascript 等网页语言作用在前端网页.后端:对应jsp. ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(33)-数据验证共享
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(33)-数据验证共享 注:本节阅读需要有MVC 自定义验证的基础,否则比较吃力 一直以来表单的验证都是不可 ...
- 腾讯Web工程师的前端书单
2014年一月以来,自己接触web前端开发已经两年多了,记录一下自己前端学习路上看过的,以及道听途说的一些书,基本上按照由浅入深来介绍. JavaScript 入门 <JavaScript权威指 ...
- Web后台快速开发框架(.NET Core)
Web后台快速开发框架(.NET Core) Coldairarrow 目录 目录 第1章 目录 1 第2章 简介 3 第3章 基础准备 4 3.1 开发环境 ...
- Web后台快速开发框架
Web后台快速开发框架 Coldairarrow 目录 目录 第1章 目录 1 第2章 简介 3 第3章 基础准备 4 3.1 开发环境要求 4 3.2 ...
- 第二周作业-web后台应用开发与xml
web后台: 网站前台和网站后台通常是相对于动态网站而言,即网站建设是基于数据库开发 的网站.基于带数据库开发的网站,一般分网站前台和网站后台.网站前台是面向网站访问用户的,通俗的说也就是给访问网站的 ...
- Web暴力破解--前端JS表单加密进行爆破
0x01 前言 常见的js实现加密的方式有:md5.base64.shal,写了一个简单的demo作为测试. 0x02 代码 login.html <!DOCTYPE HTML> < ...
随机推荐
- 使用git命令提示“不是内部或外部命令
问题描述: 打开windows的cmd,在里面打git命令会提示“不是内部或外部命令,也不是可运行的程序” 解决办法: 找到git安装路径中bin的位置,如:D:\Program Files\Git\ ...
- ATX 免越狱调试IOS和Android
利用ATX配合WDA进行图形识别+自动化测试 通过使用AutomatorX,配合WebDriverAgent,可以实现在非越狱的IOS设备上更简单的进行自动化测试.同样,Android设备一样受到支持 ...
- 2019建模美赛B题(派送无人机)M奖论文
昨天上午出了建模美赛的结果,我们小组获得的是M奖,感觉挺开心的.我一直觉得拿O奖那种是个概率事件,需要天时地利人和的各种因素都合适才行,所以看到自己是M奖,感觉自己的能力已经得到了认可就很满意了.今天 ...
- Linux 下安装 resync 介绍
Linux 下安装 resync 介绍 这是官网,找到对应版本的下载地址. 这里提供Linux_X64的安装包 wget '' https://download-cdn.resilio.com/sta ...
- Angular2 内置指令 NgFor 和 NgIf 详解
http://www.jb51.net/article/89781.htm 在这一章节中,我们来学习如何使用Angular2来展示数据,以及如何使用它的内置指令NgFor和NgIf 首先要确保你有一个 ...
- Layout2:StackPanel(补交作业)
<StackPanel Orientation="Horizontal" VerticalAlignment="Bottom" > <Rect ...
- dotnet --info
[root@bogon ~]# dotnet --info.NET Command Line Tools (2.1.4) Product Information: Version: 2.1.4 Com ...
- angular的一些思考
来公司做的第一个产品就是用angularjs来写的 我对整体这个产品架构的理解: 这套系统做的做的目的是实现所有的功能可配置化,使用MVC模型,有model层,view层,和controller层,m ...
- 【数据结构】10分钟教你用栈求解迷宫老鼠问题超详细教程附C++源代码
问题描述 给定一张迷宫地图和一个迷宫入口,然后进入迷宫探索找到一个出口.如下图所示: 该图是一个矩形区域,有一个入口和出口.迷宫内部包含不能穿越的墙壁或者障碍物.这些障碍物沿着行和列放置,与迷宫的边界 ...
- train loss与test loss结果分析
train loss 不断下降,test loss不断下降,说明网络仍在学习; train loss 不断下降,test loss趋于不变,说明网络过拟合; train loss 趋于不变,test ...