分享

WebAPI:client客户端post提交签名数据/apiServer服务端返回json数据交互-简单示例

 明月几时有SLB 2018-06-04
WebAPI:client客户端post提交签名数据/apiServer服务端返回json数据交互-简单示例

客户端: Web目录下的ApiClient/queryToken.aspx

API服务端:WebApi目录下的/ApiServe/queryToken.aspx

客户端(Web:ApiClient/queryToken.aspx )以post方式提交json数据来访问API服务端(WebApi:ApiServe/queryToken.aspx),api服务端接受到数据在云端处理以后在以json的形式返回给客户端

使用步骤:1.修改 客户端: WebWeb:ApiClient/queryToken.aspx 文件:33行  return postUrl(values, "http://localhost:10673/ApiServe/queryToken.aspx") 的api url目标地址,这里的目标
地址就是 API服务端:webApi目录下的/ApiServe/queryToken.aspx的地址

使得平台有很强的扩展性,和数据安全性,可维护性,跨域实现数据的安全访问...

注意:如果遇到System.Net.WebException: 无法连接到远程服务器 ---> System.Net.Sockets.SocketException: 由于目标计算机积极拒绝,无法连接。---------》请直接运行WebApi目录下的
/ApiServe/queryToken.aspx,然后粘贴浏览器地址至客户端: WebWeb:ApiClient/queryToken.aspx 文件:33行  return postUrl(values, "http://localhost:10673/ApiServe/queryToken.aspx")
的api url目标地址,这里的目标地址
代码:
客户端访问:
try
            {
                var values = new NameValueCollection();
                values["bussId"] = "wagg_d";
                string timestamp = DateTime.Now.ToString("yyyyMMddHHmmss");
                values["tradeNo"] = tradeNo;
                values["timestamp"] = timestamp;
                string sign = "bussIdwagg_dtimestamp" + timestamp + "tradeNo" + tradeNo + "keyjzklfD7K9VS7FPWbOU";
                sign = MD5(sign);
                values["sign"] = sign.ToUpper();
                Label1.Text = values["bussId"] + " " +values["tradeNo"]+ " " + values["tradeNo"]+ " " + values["timestamp"]+ " " + values["sign"];
                return postUrl(values, "http://localhost:10673/ApiServe/queryToken.aspx");
            }
            catch (Exception ex)
            {
                errorlog log = new errorlog();
                log.log(ex.ToString());
                return ex.ToString();
            }


服务器端返回:
WebApi.Components.receive_post getpost = new receive_post();
            string postdata = getpost.receivepost();

            try
            {
                if (!IsPostBack)
                {
                    if (postdata.Trim().Length <= 0)
                    {
                        Response.Write("error:null没有接收到post数据.");
                        Response.End();
                        return;
                    }
                    else
                    {
                        IDGetUser(postdata);
                    }
                }
            }
            catch (Exception ex)
            {
                errorlog log = new errorlog();
                log.log(ex.ToString());
            }
        }

        /// <summary>
        /// 返回json
        /// </summary>
        /// <param name="id"></param>
        private void IDGetUser(string postdata)
        {
            //读取数据数据
            //DBhelp.Sql_Aaction bll = new DBhelp.BLL.Sql_Aaction();
            // string sqlwhere = "select .. ";
            // DataSet ds = bll.GetList(sqlwhere);
            try
            {
                StringBuilder rjson = new StringBuilder();
                Response.ContentType = "text/plain";
                string access_token = string.Empty;
                string returnresult = WebApi.Components.tabletojson.DataTableToJson("data", WebApi.Components.construction_data_table.getdatatable());//table 格式化json
                access_token = UserTokenManager.gettoken(postdata);
                rjson.Append("{");
                rjson.AppendFormat("\"code\":\"{0}\",", access_token);
                rjson.AppendFormat("\"msg\":\"{0}\",", "0");
                rjson.Append(returnresult);
                rjson.AppendFormat(",\"sign\":\"{0}\"", "25w5s5edcrdf6sdf4f5fg");
                rjson.Append("}");
                Response.Write(rjson.ToString());
                Response.End();
            }
            catch (Exception ex)
            {
                errorlog log = new errorlog();
                log.log(ex.ToString());
            }
        }

源码下载地址:
http://www./code/WebAPIClientSubmitSignatureData

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约