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

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

params 参数表的json格式

  /// <summary>
/// 德邦密文生成器
/// </summary>
/// <param name="param"></param>
/// <returns></returns>
public static string createdigest(string param)
{
byte[] buffer = System.Text.Encoding.GetEncoding("UTF-8").GetBytes(param);
System.Security.Cryptography.MD5CryptoServiceProvider check;
check = new System.Security.Cryptography.MD5CryptoServiceProvider();
byte[] somme = check.ComputeHash(buffer);
string ret = "";
foreach (byte a in somme)
{
if (a < )
ret += "" + a.ToString("X");
else
ret += a.ToString("X");
}
string re = Convert.ToBase64String(System.Text.Encoding.GetEncoding("UTF-8").GetBytes(ret.ToLower()));
return re;
} /// <summary>
/// 德邦时间差生成
/// </summary>
/// <returns></returns>
public static string createTimestamp()
{
TimeSpan ts = DateTime.UtcNow - new DateTime(, , , , , , );
string time = Convert.ToInt64(ts.TotalMilliseconds).ToString();
return time;
}

Post 信息 http:

     Uri myUri = new Uri("http://58.40.17.67/dop/order/alterOrder.action");
Encoding myEncoding = Encoding.GetEncoding("gb2312");
UTF8Encoding encoding2 = new UTF8Encoding();
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);
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(myUri);
webRequest.Method = "POST";
webRequest.ContentType = "application/x-www-form-urlencoded";
byte[] setStr = System.Text.Encoding.UTF8.GetBytes(sendPrams2);
webRequest.ContentLength = setStr.Length;
using (System.IO.Stream s = webRequest.GetRequestStream())
{
s.Write(setStr, , setStr.Length);
s.Close();
}
try
{
HttpWebResponse httpWebResponse = (HttpWebResponse)webRequest.GetResponse();
using (System.IO.StreamReader sr = new System.IO.StreamReader(httpWebResponse.GetResponseStream(), System.Text.Encoding.UTF8))
{
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. js 随手记

    var name = 'frog' function hello(){ alert(name); // undefined var name = 'bbc'; } 在javascript中,函数是可以 ...

  2. css-盒模型

    <!DOCTYPE html>CSS3-盒模型 盒模型属性: width 宽度 height 高度 margin 外边距 border 边框 padding 内边距.test{width: ...

  3. access数据库的连接字符串以及数据库操作类

    <!--access数据库连接方式--> <add name="QYTangConnectionString" connectionString="Pr ...

  4. td 单元格 内容自动换行

    <table width="100%" border="1" align="center"> <tr> <td ...

  5. POJ1275/ZOJ1420/HDU1529 Cashier Employment (差分约束)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud 题意:一商店二十四小时营业,但每个时间段需求的出纳员不同,现有n个人申请这份工作, ...

  6. TextView之二:常用属性

    参考自<疯狂android讲义>2.3节 //TextView所呈现的文字 android:text="我爱Java" //文字颜色 android:textColor ...

  7. GTW likes math(BC 1001)

    GTW likes math Accepts: 472 Submissions: 2140 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 1 ...

  8. mysqldump 的方式来搭建master-->slave 的复制架构

    1.master 上要满足的最小条件: 1.server_id 已经设置成了一个非0值 2.log_bin 配置好binlog 2.slave 上要满足的最小条件 1.server_id 已经设置成了 ...

  9. C++----练习

    1.完成一个C++实现的加法程序: #include<iostream> int main() { std::cout<<"可以输入两个加数,本程序完成加法...&q ...

  10. mysql 在启动时配置文件的查找方式

    知识储备: 1.mysql在启动时会去多个地方找它的配置文件,当然啦这些也都是可以从帮助中找到的,问题在于我们要知道怎么找到对应的帮助才行啊 实战: [root@workstudio data]# m ...