基本信息
源码名称:C# 翻译语言与查快递
源码大小:2.19M
文件格式:.zip
开发语言:C#
更新时间:2021-04-07
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559

本次赞助数额为: 10 元 
   源码介绍

         利用百度的翻译服务器,自动识别语言,翻译成英文

         利用网络服务器查询快递


 private  Dictionary<string, string> parameter = new Dictionary<string, string>();
        private  string _url = "http://www.aikuaidi.cn/rest/";
        public QueryExp()
        {
            parameter.Clear();
            return;
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="parKey">   该key是申请下来的id,ff4735a30a7a4e5a8637146fd0e7cec9</param>
        /// <param name="parOrder"> 查询的快递单号 Example:4304539118307</param>
        /// <param name="parId">    查询快递的公司 韵达:yunda 顺丰:shunfeng</param>
        /// <param name="parOrd">   查询结果排序 asc,desc</param>
        public  QueryExp(string parKey, string parOrder, string parId, string parOrd)
        {
            parameter.Add("key", parKey);
            parameter.Add("order", parOrder);
            parameter.Add("id", parId);
            parameter.Add("ord", parOrd);
            parameter.Add("show", "JSON"); 
        }
       
        /// <summary>
        /// 该函数主要用url后面加参数的方式 post, Method is get
        /// </summary>
        /// <returns></returns>
        public ExpressStatus GetDataCoreGet()
        {
            //HttpWebRequest继承与WebRequest

            string josnResp = string.Empty;

            string url = _url "?" GetParData();

            WebRequest wReq = WebRequest.Create(url);

            //wReq.Method = "GET";
            string getstring = wReq.Method;

            WebResponse wResp = wReq.GetResponse();

            Stream respStream = wResp.GetResponseStream();

            StreamReader reader = new StreamReader(respStream, Encoding.GetEncoding("utf-8"));

            josnResp = reader.ReadToEnd();

            ExpressStatus retEs = JsonConvert.DeserializeObject<ExpressStatus>(josnResp);

            return retEs;


        }
        /// <summary>
        /// 该函数不使用url后面加参数的方式,使用post的方式发送数据到服务器上
        /// </summary>
        /// <returns></returns>
        public ExpressStatus GetDataCorePost()
        {

             //Encoding myEncoding = Encoding.GetEncoding("gb2312");  //选择编码字符集

             string data = GetParData();
             byte[] bytesToPost = System.Text.Encoding.Default.GetBytes(data); //转换为bytes数据

             string responseResult = String.Empty;
             HttpWebRequest req = (HttpWebRequest) HttpWebRequest.Create(_url);   //创建一个有效的httprequest请求,地址和端口和指定路径必须要和网页系统工程师确认正确,不然一直通讯不成功
             req.Method = "POST";
             req.ContentType ="application/x-www-form-urlencoded;charset=gb2312";
             req.ContentLength = bytesToPost.Length;
             using (Stream reqStream = req.GetRequestStream())
             {
                 reqStream.Write(bytesToPost, 0, bytesToPost.Length);     //把要上传网页系统的数据通过post发送
             }
             HttpWebResponse expressRespone = (HttpWebResponse)req.GetResponse();

             if (expressRespone != null && expressRespone.StatusCode == HttpStatusCode.OK)
             {
                 StreamReader sr;
                 using (sr = new StreamReader(expressRespone.GetResponseStream()))
                 {
                     responseResult = sr.ReadToEnd();  //网页系统的json格式的返回值,在responseResult里,具体内容就是网页系统负责工程师跟你协议号的返回值协议内容
                 }
                 sr.Close();
             }

             expressRespone.Close();

             ExpressStatus retEs = JsonConvert.DeserializeObject<ExpressStatus>(responseResult);


             return retEs;
        }

        public ExpressStatus GetDataCorePost(string parKey, string parOrder, string parId, string parOrd)
        {
            parameter.Clear();
            parameter.Add("key", parKey);
            parameter.Add("order", parOrder);
            parameter.Add("id", parId);
            parameter.Add("ord", parOrd);
            parameter.Add("show", "JSON"); 

            //Encoding myEncoding = Encoding.GetEncoding("gb2312");  //选择编码字符集

            string data = GetParData();
            byte[] bytesToPost = System.Text.Encoding.Default.GetBytes(data); //转换为bytes数据

            string responseResult = String.Empty;
            HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(_url);   //创建一个有效的httprequest请求,地址和端口和指定路径必须要和网页系统工程师确认正确,不然一直通讯不成功
            req.Method = "POST";
            req.ContentType = "application/x-www-form-urlencoded;charset=gb2312";
            req.ContentLength = bytesToPost.Length;
            using (Stream reqStream = req.GetRequestStream())
            {
                reqStream.Write(bytesToPost, 0, bytesToPost.Length);     //把要上传网页系统的数据通过post发送
            }
            HttpWebResponse expressRespone = (HttpWebResponse)req.GetResponse();

            if (expressRespone != null && expressRespone.StatusCode == HttpStatusCode.OK)
            {
                StreamReader sr;
                using (sr = new StreamReader(expressRespone.GetResponseStream()))
                {
                    responseResult = sr.ReadToEnd();  //网页系统的json格式的返回值,在responseResult里,具体内容就是网页系统负责工程师跟你协议号的返回值协议内容
                }
                sr.Close();
            }

            expressRespone.Close();

            ExpressStatus retEs = JsonConvert.DeserializeObject<ExpressStatus>(responseResult);


            return retEs;
        }


        private string GetParData()
        {
            string ret = "";
            int num = 0;
            foreach (var item in parameter)
            {
                if (num == 0)
                {
                    ret = ret item.Key "=" item.Value;

                }
                else
                {
                    ret = ret "&" item.Key "=" item.Value;
                }

                num ;
            }


            return ret;
        }