zoukankan      html  css  js  c++  java
  • 通过WebApi取出XML数据

    Get请求:

     public static Result<GetExpressCollectionResponseType> GetDataFromWebs(string waybillNumbers)
            {
                var result = new Result<GetExpressCollectionResponseType>();
                try
                {
                    var url = "http://***.com.cn/service/Manage/999001/Expresses/GetExpressByEpcodes";
    
                    var client = new WebClient();
                    client.Headers.Add(HttpRequestHeader.Authorization, "basic OTk5MDAxOjEyMzQ1Njc4");
                    client.Headers.Add(HttpRequestHeader.ContentType, "text/xml; charset=utf-8");
    
                    var postbody = "<string>" + waybillNumbers + "</string>";
                    var data = Encoding.UTF8.GetBytes(postbody);
                    var response = client.UploadData(url, "POST", data);
                  
                    GetExpressCollectionResponseType t = default(GetExpressCollectionResponseType);
                    var xmlSerializer = new XmlSerializer(typeof(GetExpressCollectionResponseType));
                    using (Stream xmlStream = new MemoryStream(response))
                    {
                        using (XmlReader xmlReader = XmlReader.Create(xmlStream))
                        {
                            Object obj = xmlSerializer.Deserialize(xmlReader);
                            t = (GetExpressCollectionResponseType)obj;
                        }
                    }
                    result.Entity = t;
                }
                catch (Exception ex)
                {
                    result.HasError = true;
                    result.ErrorMessage = ex.Message;
                }
                return result;
            }

    Post请求:

     public static Result<string> GetLabelFromWeb(string waybillNumber, string filename, string labelSize)
            {
                var result = new Result<string>();
    
                try
                {
                    var url = string.Format("http://***.com.cn/service/Manage/999001/Expresses/{0}/{1}Label",
                        waybillNumber, labelSize);
    
                    var client = new WebClient();
                    client.Headers.Add(HttpRequestHeader.Authorization, "basic OTk5MDAxOjEyMzQ1Njc4");
                    client.Headers.Add(HttpRequestHeader.ContentType, "text/xml; charset=utf-8");
    
                    client.DownloadFile(url, filename);
    
                    result.Entity = filename;
                }
                catch (Exception ex)
                {
                    result.HasError = true;
                    result.ErrorMessage = ex.Message;
                }
                return result;
            }
  • 相关阅读:
    http 协议相关问题
    网卡中断及多队列
    Visual Studio Code 配置C/C++环境
    C++通用框架和库
    命令行的艺术
    NetScaler Logs Collection Guide
    C++性能榨汁机之无锁编程
    Codeforces 839E Mother of Dragons【__builtin_popcount()的使用】
    C/C++中__builtin_popcount()的使用及原理
    Codeforces 839D Winter is here【数学:容斥原理】
  • 原文地址:https://www.cnblogs.com/xiaoqi742709106/p/4432630.html
Copyright © 2011-2022 走看看