直接上代码

前台调用:

<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. “耐撕”团队 2016.03.31 站立会议

    1. 时间: 19:30--19:50  共计20分钟. 2. 成员: Z 郑蕊 * 组长 (博客:http://www.cnblogs.com/zhengrui0452/), P 濮成林(博客:ht ...

  2. Springmvc架构

    框架结构如下图: 架构流程: 1.用户发送请求至前端控制器DispatcherServlet 2.DispatcherServlet收到请求调用HandlerMapping处理器映射器. 3.处理器映 ...

  3. chrome版本下载

    chrome 下载:https://www.chromedownloads.net/chrome64win/ chromedriver下载:http://chromedriver.storage.go ...

  4. HTTP协议 - 使用php模拟get/post请求

    首先 有个疑问, 是不是只有浏览器才能发送http 请求? 答案肯定是错的,第一篇就说了,http是由请求行,请求头,请求主体三个部分组成,那么我们可不可以用代码来模拟一下get和post请求呢: 首 ...

  5. 文件上传.ashx

    using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Runtime ...

  6. 在js文件中通过jquery定位到某个dom时候设置事件时候 相当于直接在dom里面添加事件

    在js文件中通过jquery定位到某个dom时候设置事件时候 相当于直接在dom里面添加事件  当触发事件时候 会把当前的dom传给该方法

  7. Jarvis OJ A Piece Of Cake

    看图片的隐写术自闭,本来想看一看jarvisoj 的basic放松一下心情,结果一道题就做了一晚上qwq 首先看到这道题的时候想到的是凯撒密码(这其实是Google之后才知道这个名字的)枚举了26种位 ...

  8. 小程序 official-account

    只需要在页面中添加 <official-account></official-account> 需要注意的是: 1.当小程序从扫二维码场景(场景值1011)打开时 2.当小程序 ...

  9. 【Java】Android EditText开发的一个容易忽略的坑

    这几天接手做一个远程控制Android application,安卓前台的EditText用来输入ip地址.端口等信息,发现EditText的使用存在着巨坑一个! 我在网上找了半天,发现仅仅有人提出这 ...

  10. #189 stat(动态规划)

    容易想到固定第一个排列为1~n,算出答案后乘上n!即可,但这样就离正解走远了. 考虑排列dp的一般套路,将数从大到小加入排列,这样每个位置第一次填数时(不管是第一个还是第二个排列)其贡献就确定了. 显 ...