public string Get(int id)
{ JObject o = new JObject(
new JProperty("billNo", "ESL1363593563"),
new JProperty("billType", ""),
new JProperty("pageNo", ""),
new JProperty("pageSize", ""),
new JProperty("queryType ", "")
);
//压缩str,用于得到sign的值
string str = "360buy_param_json" + o.ToString() + "access_token" + + "app_key" + + "method" + + "timestamp=" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "v2.0";
//完整str
string str1 = "360buy_param_json=" + o.ToString() + "&access_token=" + + "&app_key=" + + "&method=" + + "&timestamp=" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "&v=2.0"; string end = "yourappSecret" + str + "yourappSecret";
string md5 = StrToMD5(end);//得出来sign
//最后拼接url:
string endstr = str1 + "&sign=" + md5;
//经常用到url中含有中文字符的需要对其进行字符串编码和解码,所以这里就用了这个System.Web.HttpUtility.UrlEncode,
c#asp.net url 传递中文参数要使用 System.Web.HttpUtility.UrlEncode 而不能使用Server.UrlEncode string allStr = System.Web.HttpUtility.UrlEncode(endstr, System.Text.Encoding.UTF8);
byte[] bufferB = Encoding.UTF8.GetBytes(allStr);
System.Net.ServicePointManager.DefaultConnectionLimit = ;
HttpWebRequest WebReq = (HttpWebRequest)WebRequest.Create("www.cctv.com");
WebReq.Method = "POST";
WebReq.ContentType = "application/x-www-form-urlencoded";
WebReq.ContentLength = allStr.Length;
Stream PostData = WebReq.GetRequestStream();
PostData.Write(bufferB, , bufferB.Length);
PostData.Close(); HttpWebResponse WebResp = (HttpWebResponse)WebReq.GetResponse();
StreamReader sr = new StreamReader(WebResp.GetResponseStream(), System.Text.Encoding.UTF8);
string backstr = sr.ReadToEnd();
backstr = HttpUtility.UrlDecode(backstr);
Console.WriteLine(WebResp.StatusCode);
Console.WriteLine(WebResp.Server);
Stream Answer = WebResp.GetResponseStream();
StreamReader _Answer = new StreamReader(Answer);
Console.WriteLine(_Answer.ReadToEnd());
return _Answer.ReadToEnd(); }

 
         {
return val.TrimStart(c).TrimEnd(c);
} private static string GetSignature(IDictionary<string, string> parameters, string secret)
{
// 先将参数以其参数名的字典序升序进行排序
IDictionary<string, string> sortedParams = new SortedDictionary<string, string>(parameters);
IEnumerator<KeyValuePair<string, string>> iterator = sortedParams.GetEnumerator(); // 遍历排序后的字典,将所有参数按"keyvaluekeyvalue"格式拼接在一起
StringBuilder basestring = new StringBuilder();
while (iterator.MoveNext())
{
string key = iterator.Current.Key;
string value = iterator.Current.Value.ToString();
if (!string.IsNullOrEmpty(key) && value != null)
{
basestring.Append(key).Append(value);
}
} // 使用MD5对待签名串求签
string upperCaseStr = StrToMD5(basestring.ToString());
string result = StrToMD5(upperCaseStr + secret);
return result;
} private static string StrToMD5(string str)
{
byte[] data = Encoding.UTF8.GetBytes(str);
MD5 md5 = new MD5CryptoServiceProvider();
byte[] OutBytes = md5.ComputeHash(data); string OutString = "";
for (int i = ; i < OutBytes.Length; i++)
{
OutString += OutBytes[i].ToString("x2");
}
return OutString.ToUpper();
}

关于串通京东接口的demo的更多相关文章

  1. Asp.Net Core基于JWT认证的数据接口网关Demo

    近日,应一位朋友的邀请写了个Asp.Net Core基于JWT认证的数据接口网关Demo.朋友自己开了个公司,接到的一个升级项目,客户要求用Aps.Net Core做数据网关服务且基于JWT认证实现对 ...

  2. 支付宝即时到账接口开发 - DEMO讲解

    支付宝即时到帐接口 环境要求 PHP5.0以上,且需要开启curl.openssl. 文档地址: https://doc.open.alipay.com/doc2/detail?treeId=62&a ...

  3. 新手入门贴之基于 python 语言的接口自动化 demo 小实战

    大家好,我是正在学习接口测试的菜鸟.近期通过自己的学习,完成了一个关于测试接口的接口自动化demo.下面想跟大家分享一下,主要的思路是根据接口文档确定测试用例,并将测试用例写在excel中.因为只是小 ...

  4. 易飞ERP API接口调用DEMO

    一.使用场景: 1.需要开放ERP数据给第三方系统对接,如APP手机端开发,MES,OA等: 2.接口按现在主流开发,restful风格,传JSON数据,跨平台,不限开发工具: 3.不限易飞ERP,支 ...

  5. swagger2接口发布demo

    1.目的:使用Swagger2发布接口,ui可操作 2.项目结构  3. 代码 3.1 接口类qinfeng.zheng.api.controller.DemoController package q ...

  6. gmc银联接口开发demo

    1.接口文档 1.1 无gmc界面接口 (dll/ocx) dll调用(posinf.dll)函数名为:int bankall (char * request,char *response),其中第一 ...

  7. apistore接口调用demo

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. 一个类实现多个接口的demo

    //A接口 interface A{ public int getA(); } //B接口 interface B{ public int getB(); } //实现了某个接口必须实现其全部的方法 ...

  9. 农业银行网上支付平台-商户接口编程-demo调试

    调试的时候会报一个这样的错误. ReturnCode = [1999]ErrorMessage = [系统发生无法预期的错误 - 第1个证书无法读取证书文档] 网上其他资料说是权限问题,有的人可能是权 ...

随机推荐

  1. DELL T110II Server如何通过RAID 级别迁移的方式在OMSA下实现磁盘阵列扩容?

    目录: RAID 转移规则说明 操作步骤 本文介绍了 通过RAID 级别转换来实现扩容的方法注意:本文相关RAID的操作,仅供在测试环境里学习和理解戴尔PowerEdge服务器RAID控制卡的功能和使 ...

  2. Gulp安装及使用

    測试环境 Mac:10.10.4 Gulp:3.9.0 时间:2015年08月15日18:07:08 安装Gulp sudo npm install --global gulp npm install ...

  3. 使用Scroller制作滑块开关ToggleButton

    Scroller这个类在自己定义view中使用的还算是非常频繁的,和它名字一样.我们通常是在控制滑动的时候使用Scroller,以便让view滑动起来不那么生硬.在官方的解释上,Scroller是一个 ...

  4. hdu oj 3127 WHUgirls(2009 Asia Wuhan Regional Contest Online)

    WHUgirls Time Limit: 3000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total ...

  5. 水晶报表 Crystal Report 调用存储过程时出错 找不到表 ,解决方法。

    用 CrystalReportViewer1 控件在asp.net的网页上显示报表,假设做报表时调用数据表数据的方式调用是能够成功的.但报表是用存储过程获取数据方式会出现下面错误: 找不到表'RptO ...

  6. tf.image.resize_bilinear 图像缩放,双线性插值-图像中心对齐

    http://www.cnblogs.com/yssongest/p/5303151.html 双线性插值算法及需要注意事项 input = tf.placeholder(tf.float32, sh ...

  7. iOS开发个人开发账号的证书详细使用及介绍

    本人也和大家一样在学习iOS的开发,在开发当中最烦的就是证书出问题,主要是没有理解透证书的含义,因此查阅了一些资料,才对证书有了一定的认识,本文章就是介绍个人的个人理解,有不对的地方大加可以留言提醒, ...

  8. SGU 145

    节点不可重复经过的K短路问题. 思路:二分路径长度,深搜小于等于路径长度的路径数.可以利用可重复点K短路问题中的A*函数进行剪枝. 尝试另一种解法:把可重复点K短路A*直接搬过来,堆中的每个元素额外记 ...

  9. SVN报错 Not Found In Revision 不支持空目录

    如果你要初始化上传的SVN目录为空,有可能会报这个错误 解决方法:在SVN下新建一个目录即可

  10. bzoj 2957: 楼房重建【线段树】

    总之就是找前面所有点的斜率都严格小于这个点的这样的点的个数 不管是询问还是修改都非常线段树啊,而且相当眼熟是不是和hotel有点像啊,大概就是区间内记一个len一个max,分别是当前区间答案和区间最大 ...