日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

百度外卖接口调试 C#版

發布時間:2024/9/20 C# 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 百度外卖接口调试 C#版 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

主類

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#版的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。