一。1)  支持的传输协议 
http ,暂时只支持HTTP协议进行通信。
(2) 支持的数据传输格式 
Json  ,所有接口暂只支持json消息格式。
(3) 编码格式:UTF-8  
交互编码格式统一用 UTF-8,避免传递中文数据出现乱码。

(4) 安全验证
在数据传输过程中,为避免数据被篡改,需要对数据进行加密。
a.  在传输的参数中,既要传递原始的json字符串params,又要传输加密后的摘要digest.
摘要的生成规则是  base64(MD5(params+apikey+timestamp)).

params 参数表的json格式

  1. /// <summary>
  2. /// 德邦密文生成器
  3. /// </summary>
  4. /// <param name="param"></param>
  5. /// <returns></returns>
  6. public static string createdigest(string param)
  7. {
  8. byte[] buffer = System.Text.Encoding.GetEncoding("UTF-8").GetBytes(param);
  9. System.Security.Cryptography.MD5CryptoServiceProvider check;
  10. check = new System.Security.Cryptography.MD5CryptoServiceProvider();
  11. byte[] somme = check.ComputeHash(buffer);
  12. string ret = "";
  13. foreach (byte a in somme)
  14. {
  15. if (a < )
  16. ret += "" + a.ToString("X");
  17. else
  18. ret += a.ToString("X");
  19. }
  20. string re = Convert.ToBase64String(System.Text.Encoding.GetEncoding("UTF-8").GetBytes(ret.ToLower()));
  21. return re;
  22. }
  23.  
  24. /// <summary>
  25. /// 德邦时间差生成
  26. /// </summary>
  27. /// <returns></returns>
  28. public static string createTimestamp()
  29. {
  30. TimeSpan ts = DateTime.UtcNow - new DateTime(, , , , , , );
  31. string time = Convert.ToInt64(ts.TotalMilliseconds).ToString();
  32. return time;
  33. }

Post 信息 http:

  1. Uri myUri = new Uri("http://58.40.17.67/dop/order/alterOrder.action");
  2. Encoding myEncoding = Encoding.GetEncoding("gb2312");
  3. UTF8Encoding encoding2 = new UTF8Encoding();
  4. string sendPrams2 = System.Web.HttpUtility.UrlEncode("companyCode", myEncoding) + "=" + System.Web.HttpUtility.UrlEncode(COMPARNY, myEncoding) + "&" + System.Web.HttpUtility.UrlEncode("params", myEncoding) + "=" + System.Web.HttpUtility.UrlEncode(jsonSaveOrder, encoding2) + "&" + System.Web.HttpUtility.UrlEncode("digest", myEncoding) + "=" + System.Web.HttpUtility.UrlEncode(digest, myEncoding) + "&" + System.Web.HttpUtility.UrlEncode("timestamp", myEncoding) + "=" + System.Web.HttpUtility.UrlEncode(time, myEncoding);
  5. HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(myUri);
  6. webRequest.Method = "POST";
  7. webRequest.ContentType = "application/x-www-form-urlencoded";
  8. byte[] setStr = System.Text.Encoding.UTF8.GetBytes(sendPrams2);
  9. webRequest.ContentLength = setStr.Length;
  10. using (System.IO.Stream s = webRequest.GetRequestStream())
  11. {
  12. s.Write(setStr, , setStr.Length);
  13. s.Close();
  14. }
  15. try
  16. {
  17. HttpWebResponse httpWebResponse = (HttpWebResponse)webRequest.GetResponse();
  18. using (System.IO.StreamReader sr = new System.IO.StreamReader(httpWebResponse.GetResponseStream(), System.Text.Encoding.UTF8))
  19. {
  20. string returnMessage = sr.ReadToEnd();

异步操作:

Task task = new Task(() =>
                    {});

task.Start();

(5)WCF 。。。

Deppon接口开发的更多相关文章

  1. 《连载 | 物联网框架ServerSuperIO教程》- 13.自定义视图显示接口开发,满足不同的显示需求

    1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...

  2. 《Python Web 接口开发与测试》---即将出版

    为什么要出这样一本书? 首先,今年我有不少工作是跟接口自动化相关的,工作中的接口自动化颇有成效. 我一直是一个没有测试大格局的人,在各种移动测试技术爆发的这一年,我却默默耕耘着自己的一亩三分地儿(We ...

  3. 浅谈 PHP 与手机 APP 开发(API 接口开发) -- 转载

    转载自:http://www.thinkphp.cn/topic/5023.html 这个帖子写给不太了解PHP与API开发的人 一.先简单回答两个问题: 1.PHP 可以开发客户端? 答:不可以,因 ...

  4. 支付宝WAP支付接口开发(Node/Coffee语言)

    此博客不更新很久了, 更新的文档在这, 有兴趣到这里围观: http://neutra.github.io/2013/%E6%94%AF%E4%BB%98%E5%AE%9DWAP%E6%94%AF%E ...

  5. C#微信公众号接口开发,灵活利用网页授权、带参数二维码、模板消息,提升用户体验之完成用户绑定个人微信及验证码获取

    一.前言 当下微信公众号几乎已经是每个公司必备的,但是大部分微信公众账号用户体验都欠佳,特别是涉及到用户绑定等,需要用户进行复杂的操作才可以和网站绑定,或者很多公司直接不绑定,而是每次都让用户填写账号 ...

  6. C#.NET微信公众账号接口开发系列文章整理--微信接口开发目录,方便需要的博友查询

    前言: 涉及微信接口开发比较早也做的挺多的,有时间的时候整理了开发过程中一些思路案例,供刚学习微信开发的朋友参考.其实微信接口开发还是比较简单的,但是由于调试比较麻烦,加上微信偶尔也会给开发者挖坑,并 ...

  7. C#/ASP.NET MVC微信公众号接口开发之从零开发(四) 微信自定义菜单(附源码)

    C#/ASP.NET MVC微信接口开发文章目录: 1.C#/ASP.NET MVC微信公众号接口开发之从零开发(一) 接入微信公众平台 2.C#/ASP.NET MVC微信公众号接口开发之从零开发( ...

  8. APP数据接口开发的一些经验

    刚接到这样的任务时,没有感觉到任何压力,不就是给移动端应用提供数据吗?那边发来参数,这边处理数据,返回JSON.做网站开发时经常使用ajax请求后台数据,不就是这么回事吗.于是,在确认完需求后就开始干 ...

  9. 浅谈 PHP 与手机 APP 开发(API 接口开发)

    本文内容转载自:http://www.thinkphp.cn/topic/5023.html 这个帖子写给不太了解PHP与API开发的人一.先简单回答两个问题:1.PHP 可以开发客户端?答:不可以, ...

随机推荐

  1. MySQL 触发器的定义

    -- Insert DELIMITER $$ USE `testdatabase`$$ DROP TRIGGER /*!50032 IF EXISTS */ `Trigger_XXX_INSERT`$ ...

  2. C#使用seleium实现一个自动登录器

    1.http://docs.seleniumhq.org/ 下载seleium包 2.新建一个C#项目,比如控制台,引用seleium包中的dll using System; using System ...

  3. AsyncTask使用注意事项

    AsyncTask是android自带的一个异步处理线程 它带了很多参数 都很方便使用 但是有一些注意事项 1: 官网说明: AsyncTasks should ideally be used for ...

  4. iOS-tableView点击下拉菜单

    #import "ViewController.h" @interface ViewController ()<UITableViewDataSource,UITableVi ...

  5. hdu1064Financial Management

    Problem Description Larry graduated this year and finally has a job. He’s making a lot of money, but ...

  6. 两个string数组对应比较

    最近做的array string类型对比.这个可能比较复杂,用的是linq 是请教别人的,我在这里记录一下 jquery 方法里面的数组 function arrtxt() { var arrt= [ ...

  7. nodejs的简单服务器程序

    下面是参考<Jquery.Jquery UI 及Jquery Mobile>一书中的nodej服务器程序 var http = require('http'), url = require ...

  8. php的一些小笔记--数学函数

    通常我们使用的数学函数不多,经常出现的有 floor 地板->舍去 ceil   天花板->进一 round 四舍五入 rand 随机数 mt_rand 产生更好的随机数 pow 指数表达 ...

  9. $_FILES系统函数

    PHP编程语言中的常见的$_FILES系统函数用法有: $_FILES['myFile']['name'] 显示客户端文件的原名称. $_FILES['myFile']['type'] 文件的 MIM ...

  10. 网易2014校园招聘杭州Java笔试题

    10) ABC http://soft.chinabyte.com/os/56/12516056.shtml 11) BD. 12) AC. http://blog.sina.com.cn/s/blo ...