主类

class Program
    {
        static void Main(string[] args)
        {
            string cmdStr = "order.list";
            int soureStr = 36524;//此处填入账户
            string secertStr = "123131243245454534";//此处填入密钥
            DateTime d1 = DateTime.Now;
            string timeString = ToTimestamp(d1).ToString("0");
            string ticket = System.Guid.NewGuid().ToString().ToUpper();
            Sing sin = new Sing();
            sin.cmd = cmdStr;
            sin.timestamp = timeString;
            sin.version = 2;
            sin.ticket = ticket;
            sin.source = soureStr;
            sin.secret = secertStr;
            Shop shop = new Shop();
            shop.end_time = 1442559208;
            shop.page = 1;
            shop.start_time = 1442558000;
            shop.status = "1,10";
            sin.body = shop;
            string js = JsonConvert.SerializeObject(sin);
            //对所有/进行转义
            js = js.Replace("/", "\\/");
            //中文字符转为unicode
            js = chinaToUnicode(js);
            Console.WriteLine(js);
            string content = CmdSerializer.ToMD5(js);
            Console.WriteLine(content);
            Cmd cmd = new Cmd();
            cmd.body = shop;
            cmd.cmd = cmdStr;
            cmd.timestamp = timeString;
            cmd.version = 2;
            cmd.ticket = ticket;
            cmd.source = soureStr;
            cmd.sign = content;
            string data = JsonConvert.SerializeObject(cmd);
            data = data.Replace("/", "\\/");
            //中文字符转为unicode
            data = chinaToUnicode(data);
            Console.WriteLine(data);
            byte[] utf8 = Encoding.UTF8.GetBytes(data);
            data = Encoding.UTF8.GetString(utf8);
            string ret = Ser.HttpPost("http://api.waimai.baidu.com", data);
            Console.WriteLine(ret);
            Console.ReadKey();
        }
        static double ToTimestamp(DateTime value)
        {
            TimeSpan span = (value - new DateTime(1970, 1, 1, 0, 0, 0, 0).ToLocalTime());
            return (double)span.TotalSeconds;
        }
        public static String chinaToUnicode(String str)
        {
            String result = "";
            for (int i = 0; i < str.Length; i++)
            {
                int chr1 = (char)str[i];
                if (chr1 >= 19968 && chr1 <= 171941)
                {//汉字范围 \u4e00-\u9fa5 (中文)
                    result += "\\u" + Convert.ToString(int.Parse(chr1.ToString()), 16); ;
                }
                else
                {
                    result += str[i];
                }
            }
            return result;
        }
    }

shop类

class Shop
    {
        public int end_time { get; set; }
        public int page { get; set; }
        public int start_time { get; set; }
        public string status { get; set; }
        //public string order_id{ get; set; }
        //public string name { get; set; }
    }

Cmd类

class Cmd
    {
        public string cmd { get; set; }
        public string timestamp { get; set; }
        public int version { get; set; }
        public string ticket { get; set; }
        public int source { get; set; }
        public string sign { get; set; }
        public object body { get; set; }
    }

CmdSerializer类

class CmdSerializer
    {
        public static string ToMD5(string value)
        {
            if (value == null || value == "")
            {
                return "";
            }
            byte[] data = System.Text.Encoding.Default.GetBytes(value);
            var md = new MD5CryptoServiceProvider();
            var data2 = md.ComputeHash(data);
            var v = BitConverter.ToString(data2);
            v = v.Replace("-", "");
            v = v.ToUpper();
            return v;
        }
    }

Sing类

class Sing
    {
        public object body { get; set; }
        public string cmd { get; set; }
        public string secret { get; set; }
        public int source { get; set; }
        public string ticket { get; set; }
        public string timestamp { get; set; }
        public int version { get; set; }
    }

Ser类

class Ser
    {
        public static string HttpPost(string url, string context)
        {
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
            req.Timeout = 60 * 1000;
            req.ReadWriteTimeout = 60 * 1000;
            //
            byte[] requestBytes = System.Text.Encoding.UTF8.GetBytes(context);
            req.Method = "POST";
            Stream requestStream = req.GetRequestStream();
            requestStream.Write(requestBytes, 0, requestBytes.Length);
            requestStream.Close();
            //
            HttpWebResponse res = (HttpWebResponse)req.GetResponse();
            Stream stream = res.GetResponseStream();
            StreamReader reader = new StreamReader(stream);
            string str = reader.ReadToEnd();
            stream.Close();
            reader.Close();
            return str;
        }
    }

百度外卖接口调试 C#版相关推荐

  1. 百度鹰眼 html,百度鹰眼接口访问c#版

    using System.IO; using System.Net; using System.Text; using System.Web.Script.Serialization; /// /// ...

  2. 人工智能接口调试(百度AI|腾讯AI)

    代码链接:https://zb.oschina.net/service/4e9afb20c79564f8 免费开源调用示例代码链接: https://gitee.com/xshuai/ai 百度AI- ...

  3. python百度翻译api申请网页版_python3调用百度翻译api接口实现全过程

    现在很都平台的翻译api接口都开始收费了,比如谷歌.微软.yandex等等,注册非常麻烦,而且要钱,目前就百度还剩下一个最基础的翻译api不需要钱,今天我要和大家分享的是怎样使用python3调用百度 ...

  4. python版--百度人工智能接口(AIP)的调用方法

    百度人工智能接口(AIP)的调用方法 学了一段时间的爬虫,老师终于讲到怎么调用人工智能接口,实际实施了一下,很顺利的就成功了. 将这一过程记录下来,方便后期的复习. 一.人工智能接口申请 1.打开浏览 ...

  5. 使用百度云接口API和人脸库完成本地合影图片的多人脸识别--V3版接口Python语言

    百度接口人脸检测,识别率很高,而且操作简单.网上百度还未见到借助百度云接口API和人脸库完成本地合影图片的多人脸识别,本人编写的代码可以实现,但觉得不够简洁,代码数还可以精减,欢迎交流. 1.准备工作 ...

  6. 百度外卖 php,百度外卖移动组件架构与优化

    百度外卖移动组件架构与优化 写在前面: 本文内容是饿了么技术沙龙20期:移动技术专场<百度外卖移动组件架构与优化>张朝@百度外卖Android高级开发工程师演讲分享,本文Github链接 ...

  7. html5 百度地图api文档,开发指南--百度地图JavaScript API大众版.doc

    开发指南--百度地图JavaScriptAPI大众版开发指南--百度地图JavaScriptAPI大众版 简介 JavaScript API大众版 JavaScript API功能介绍 百度地图Jav ...

  8. 【JS 逆向百例】百度翻译接口参数逆向

    文章目录 逆向目标 逆向过程 抓包分析 获取 token 获取 sign 完整代码 baidu_encrypt.js baidufanyi.py 逆向目标 目标:百度翻译接口参数 主页:https:/ ...

  9. 抓包工具Stream之接口调试和加密解码(二)

    移动端iphone抓包调试神器-Stream安装和使用(一) 之前我们介绍了Stream工具的安装和使用,今天我们再来介绍下抓包请求筛选.接口详情.接口导出.接口调试.接口测试.编码解码加密等 1.抓 ...

最新文章

  1. 从小白到精通python要多久-零基础如何学Python?小白学Python需要多久?
  2. 虚拟网卡技术-VETH、MACVLAN、IPVLAN
  3. 【Linux】一步一步学Linux——help命令(16)
  4. WARNING: You are using pip version 19.2.3, however version 20.1.1 is available. You should consi解决办法
  5. 分类模型的衡量指标,召回率recall和准确率precision
  6. [iOS]通过xib定义Cell然后关联UICollectionView
  7. 为什么 HashMap 的加载因子是0.75?我研究源码发现一个重大秘密。。。
  8. C++windows环境管道通信
  9. 佳能打印机扫描文件到电脑显示设置计算机,电脑教程:佳能打印机怎么扫描文件到电脑...
  10. 给树莓派刷入OpenWrt
  11. 小提琴机器人拉法_小提琴的弓怎么拉 有什么技巧
  12. AI行为识别:安防主动预警
  13. 将《2020中国统计年鉴》中的GDP数据换算成不变GDP数据
  14. 计算机维修实操,wt初级计算机维修工操作题(二).doc
  15. * What went wrong:A problem occurred evaluating project ‘:app‘.> Failed to apply plugin ‘com.andro
  16. MT6572平台加入呼吸灯功能——编写linux驱动
  17. mac 清理~$开头的垃圾文件
  18. MySQL 8.0.15解压版安装教程(windows版)
  19. vue绑定快捷键实现上下翻页
  20. 18-Linux网络协议和管理

热门文章

  1. Qt Creator在设计模式下编辑3D资产
  2. OpenGL tessellatedcube棋盘格立方体的实例
  3. C++统计10亿以内所有的质素(素数)的实现算法(附完整源码)
  4. C++构造函数的分类及调用
  5. 经典C语言程序100例之八五
  6. 29.类加载机制、类加载过程、加载、验证、准备、解析、初始化、总结
  7. Azkaban任务调度(使用带有依赖的任务调度)【mapreduce数据清洗,数据入hive库,kylin预编译、数据分析】
  8. 分布式系统概述(来自学习资料)
  9. 4.QT中进程操作,线程操作
  10. 1.网络工具:ifconfig,ping,netstate,Redhat命令和图形化设置ip,finger,nslookup