using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Text; namespace NetLibrary.Express { public class OneWorldAPI { public string sendpost(string URL) { System.Guid ro = Guid.NewGuid(); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL); request.Method = "GET"; request.ContentType = "application/json"; request.UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; qihu theworld)"; request.Headers.Add("Accept-Language: zh-CN"); request.Headers["Pragma"] = "no-cache"; //禁用缓存 request.Headers["Cache-Control"] = "no-cache"; //禁用缓存 request.Headers.Add(HttpRequestHeader.Authorization, "Hc-OweDeveloper " + "OW00046;bsFP6rTPnhAU19m;" + ro.ToString()); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream myResponseStream = response.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8")); string josn = myStreamReader.ReadToEnd(); myStreamReader.Close(); myResponseStream.Close(); response.Close(); return josn; } public string sendData(string output, string Url) { string strReturn = ""; System.Guid ro = Guid.NewGuid(); byte[] obtPostData = Encoding.UTF8.GetBytes(output.ToString()); HttpWebRequest orqRequest = (HttpWebRequest)WebRequest.Create(Url); orqRequest.Timeout = 3000; orqRequest.Method = "POST"; orqRequest.ContentType = "application/json"; orqRequest.ContentLength = obtPostData.Length; orqRequest.Headers.Add(HttpRequestHeader.Authorization, "Hc-OweDeveloper " + "OW00046;bsFP6rTPnhAU19m;" + ro.ToString()); Stream stream; using (stream = orqRequest.GetRequestStream()) { stream.Write(obtPostData, 0, obtPostData.Length); } HttpWebResponse orsResponse = (HttpWebResponse)orqRequest.GetResponse(); using (Stream responseStream = orsResponse.GetResponseStream()) { using (StreamReader streamRead = new StreamReader(responseStream, Encoding.UTF8)) { strReturn = streamRead.ReadToEnd(); } } return strReturn; } public string PutData(string output, string Url) { string strReturn = ""; System.Guid ro = Guid.NewGuid(); byte[] obtPostData = Encoding.UTF8.GetBytes(output.ToString()); HttpWebRequest orqRequest = (HttpWebRequest)WebRequest.Create(Url); orqRequest.Timeout = 3000; orqRequest.Method = "put"; orqRequest.ContentType = "application/json"; orqRequest.ContentLength = obtPostData.Length; orqRequest.Headers.Add(HttpRequestHeader.Authorization, "Hc-OweDeveloper " + "OW00046;bsFP6rTPnhAU19m;" + ro.ToString()); Stream stream; using (stream = orqRequest.GetRequestStream()) { stream.Write(obtPostData, 0, obtPostData.Length); } HttpWebResponse orsResponse = (HttpWebResponse)orqRequest.GetResponse(); using (Stream responseStream = orsResponse.GetResponseStream()) { using (StreamReader streamRead = new StreamReader(responseStream, Encoding.UTF8)) { strReturn = streamRead.ReadToEnd(); } } return strReturn; } } public class ONEBody { public ONEBody() { // //TODO: 在此处添加构造函数逻辑 // } public string ReferenceId; //客户订单号 public ShippingAddressClass ShippingAddress = new ShippingAddressClass(); //收件人地址信息 public double WeightInKg; //包裹重量(单位:KG) public List ItemDetails = new List(); //包裹件内明细 public TotalValueClass TotalValue = new TotalValueClass(); //包裹总金额 public TotalVolumeClass TotalVolume = new TotalVolumeClass(); //包裹尺寸 public string WithBatteryType; //包裹是否含有带电产品 public string Notes; //包裹备注 public string BatchNo; //批次号或邮袋号 public string WarehouseCode; //交货仓库代码,请参考查询仓库接口 public string ShippingMethod; //发货产品服务代码 public string ItemType; //包裹类型 public string DutyPaymentMethod; //结算方式 public string TrackingNumber; //预分配挂号 public bool IsMPS; //快递一票多件(multiple package shipment) public bool CheckRepeat; //检查包裹是否重复 public List Cases = new List(); //快递一票多件,箱子列表 public bool AutoConfirm; } public class ShippingAddressClass { public string Company; //公司名称 public string Street1; //街道1 public string Street2; //街道2 public string Street3; //街道3 public string City; //城市 public string Province; //省、州 public string Country; //国家 public string CountryCode; //国家代码 public string Postcode; //邮编 public string Contacter; //联系人 public string Tel; //电话 public string Email; //邮箱 } public class ItemDetailsClass { public string GoodsId; public string GoodsTitle; public string DeclaredNameEn; public string DeclaredNameCn; public DeclaredValueClass DeclaredValue = new DeclaredValueClass(); public double WeightInKg; public int Quantity; public string HSCode; public string CaseCode; } public class DeclaredValueClass { public string Code; public double Value; } public class TotalValueClass { public string Code; public double Value; } public class TotalVolumeClass { public double Length; public double Width; public double Height; public string Unit; } public class CasesClass { public string Code; public double WeightInKg; public VolumeClass Volume = new VolumeClass(); } public class VolumeClass { public double Length; public double Width; public double Height; public string Unit; } public class ChangeClass { public string ProcessCode; public string WeightInKg; } }