直接上代码

前台调用:

<script type="text/javascript">
function zLoginCheck() {
var Account = 'admin;
var Password = 'DC483E80A7A0BD9EF71D8CF973673924'; var str = {
Account: Account,
Password: Password
}
$.ajax({
type: "POST",
url: '/Handle/zLogin.ashx',
dataType: 'json',
data: JSON.stringify(str),//
beforeSend: function (request) {
request.setRequestHeader("Method", "Login");
request.setRequestHeader("timespan", "1487586970772");
request.setRequestHeader("Nonce", "726757");
request.setRequestHeader("Token", "615d1c0ab53315a2");
request.setRequestHeader("Account", "");
request.setRequestHeader("Source", "2");
request.setRequestHeader("Version", "139");
request.setRequestHeader("Sign", "5329E35A3F60B7DFA147D20EF377888C");
request.setRequestHeader("Host", "wsmvip.aisidi.com");
request.setRequestHeader("Content - Length", "76");
},
success: function (data) {
if (data.Code == "0000") {
alert(JSON.stringify(data.Data));
alert("Token:" + data.Data.Token);
} else {
alert('登录失败:' + data.Message);
}
},
complete: function (XMLHttpRequest, textStatus) {
this; // 调用本次AJAX请求时传递的options参数
}
});
}
</script>

后台部分:

    /// <summary>
/// 后台再请求别的接口的方法,体现了添加request header
/// </summary>
/// <returns></returns>
public string Login(string RequestString, HttpContext context)
{
string url = https://xxx.xxxx.com/Services/Login.ashx;
string json = "";
Encoding encoding = Encoding.UTF8;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "post";
request.Headers.Add("Method", context.Request.Headers["Method"]);
request.Headers.Add("timespan", context.Request.Headers["Timespan"]);
request.Headers.Add("Nonce", context.Request.Headers["Nonce"]);
request.Headers.Add("Token", context.Request.Headers["Token"]);
request.Headers.Add("Account", System.Web.HttpUtility.UrlDecode(context.Request.Headers["Account"]));
request.Headers.Add("Source", context.Request.Headers["Source"]);
request.Headers.Add("Version", context.Request.Headers["Version"]);
request.Headers.Add("Sign", context.Request.Headers["Sign"]); request.Accept = "text/html, application/xhtml+xml, */*";
request.ContentType = "application/x-www-form-urlencoded";
byte[] buffer = encoding.GetBytes(RequestString.ToString());
request.ContentLength = buffer.Length;
request.GetRequestStream().Write(buffer, 0, buffer.Length);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
{
json = reader.ReadToEnd();
}
return json;
}

C# http请求带请求头部分的更多相关文章

  1. 使用js+Ajax请求API接口数据-带请求头方式

    C# http请求带请求头部分 先上代码: <script type="text/javascript"> function zLoginCheck() { var A ...

  2. axios中为所有请求带上Token头

    axios中为所有请求带上Token头 https://www.imooc.com/article/27751

  3. 通过 Spring RestTemplate 调用带请求体的 Delete 方法(Delete With Request Body)

    Spring 框架的RestTemplate 类定义了一些我们在通过 java 代码调用 Rest 服务时经常需要用到的方法,使得我们通过 java 调用 rest 服务时更加方便.简单.但是 Res ...

  4. HTTP请求与请求头

    HTTP 的请求报文分为三个部分 请求行.请求头和请求体,格式如图:一个典型的请求消息头域,如下所示: POST/GET http://download.microtool.de:80/somedat ...

  5. 原创:【ajax | axios跨域简单请求+复杂请求】自定义header头Token请求Laravel5后台【亲测可用】

    如标题:我想在ajax的header头增加自定义Token进行跨域api认证并调用,api使用laravel5编写,如何实现? 首先,了解下CORS简单请求和复杂请求.  -- CORS简单请求 -- ...

  6. [转]HTTP请求模型和头信息

    原文链接:http://www.java3z.com/cwbwebhome/article/article2/2406.html 目录 一.连接至Web服务器 二.发送HTTP请求 三.服务端接受请求 ...

  7. ajax请求,请求头是provisional are shown。请求未发送出去

    问题: ajax请求,请求没成功.ajax请求没有发送出去. 查看network,看到请求头处:Provisional headers are shown. 原因: 搜索了一下,网上说了几个原因. 1 ...

  8. [转]HTTP请求模型和头信息参考

    [转]HTTP请求模型和头信息参考 参考: http://blog.csdn.net/baggio785/archive/2006/04/13/661410.aspx模型: http://blog.c ...

  9. [面试没答上的问题1]http请求,请求头和响应头都有什么信息?

    最近在找工作,面试官问了一些问题自己并没有回答上,这里做一个小结. http请求,请求头和响应头都有什么信息? 页面和服务器交互最常见的方式就是ajax,ajax简单来说是浏览器发送请求到服务端,然后 ...

随机推荐

  1. Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-

    Maven项目报错:Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clea ...

  2. mysql定时任务event——清理过期数据

    需要删除数据的表名:t_req_log 建表sql CREATE TABLE `t_req_log` ( `id` ) NOT NULL AUTO_INCREMENT, `host` ) DEFAUL ...

  3. Best Chrome Extensions

    Best Chrome Extensions chrome://extensions/ # ghelper chrome-extension://cieikaeocafmceoapfogpffaalk ...

  4. Lodop提示安装或升级的注意事项

    LODOP的LodopFuncs.js文件里,自动判断浏览器类型提示下载哪个,根据版本号比较判断提示升级.此文章是以前写的,图示可能过旧,新版提示不同,但是LodopFuncs.js里各个方面变动不大 ...

  5. 学习 Spring (六) 自动装配

    Spring入门篇 学习笔记 No: (默认)不做任何操作 byName: 根据属性名自动装配.此选项将检查容器并根据名字查找与属性完全一致的 bean,并将其与属性自动装配 byType: 如果容器 ...

  6. maven 当两个工程合并后 他的classpath也合并了

    maven   当两个工程合并后 他的classpath也合并了  也就是说资源文件环境合并了

  7. AMD三代锐龙箭在弦上:如此家族堪称豪华

    AMD将于今年年中正式推出第三代Ryzen锐龙处理器,即不集成显示芯片的纯CPU产品,外界猜测可能的时间点会是5月底的台北电脑展. 虽说依然采用AM4接口,也就是X370/470老主板可无压力兼容,但 ...

  8. ScheduledThreadPoolExecutor 吞异常

    线程挂掉不一定会输出日志到控制台,比如ScheduledThreadPoolExecutor,如果在执行的任务中有未捕获的异常抛出,就行停止调度,没有任何错误输出到控制台或日志文件.在项目中这会导致一 ...

  9. [PA2012] Tax

    传送门:>Here< 题意:给出一个N个点M条边的无向图,经过一个点的代价是进入和离开这个点的两条边的边权的较大值,求从起点1到点N的最小代价.起点的代价是离开起点的边的边权,终点的代价是 ...

  10. 【XSY1522】灯 乱搞

    题目大意 ​ \(n\)盏灯排成一列,标号\(1\)到\(n\),一开始标号为\(1\)的灯亮着. ​ 现在依次对于\(2\)~\(n\)的每一个质数\(p_i\),指定一盏亮着的灯\(a_i\),点 ...