C# http请求带请求头部分
直接上代码
前台调用:
<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; }