zoukankan      html  css  js  c++  java
  • 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;
        }
  • 相关阅读:
    AES加解密
    redis HyperLogLog使用
    vi常用操作
    redis string使用
    用jdk命令定位java应用问题
    用户态、内核态及零拷贝
    缓存穿透与雪崩
    ReentrantLock、Semaphore、AQS
    redis list使用
    不同数据库取并集、交集、差集
  • 原文地址:https://www.cnblogs.com/hnsongbiao/p/9381984.html
Copyright © 2011-2022 走看看