C# http请求带请求头部分


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


直接上代码


前台调用:

<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;
    }
原文地址:https://www.cnblogs.com/hvaning/p/6956254.html