在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
起始页面为Login.aspx,固定调试端口为49441。需要配合自己淘宝开放平台的应用的回调页面URL来调整。 ashx代码: 复制代码 代码如下:public class OnsaleGet : IHttpHandler {</p> <p> public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; ITopClient client = new DefaultTopClient(Config.ServerURL, Config.Appkey, Config.Secret);</p> <p> ItemsOnsaleGetRequest req = new ItemsOnsaleGetRequest(); req.Fields = "approve_status,num_iid,title,nick,type,cid,pic_url,num,props,valid_thru,list_time,price,has_discount,has_invoice,has_warranty,has_showcase,modified,delist_time,postage_id,seller_cids,outer_id"; ItemsOnsaleGetResponse response = client.Execute(req, Config.Top_session);</p> <p> if (response.IsError) { context.Response.Write("[错误:查询函数执行失败]"); } else { context.Response.Write(response.Body); }</p> <p> }</p> <p> public bool IsReusable { get { return false; } } } 前端SL获取数据信息的方法 复制代码 代码如下:void GetList() { string absolutePath = HtmlPage.Document.DocumentUri.AbsoluteUri; string address = absolutePath.Substring(0, absolutePath.LastIndexOf('/')) + "/TaoBaoHandler/OnsaleGet.ashx";</p> <p> Uri uri = new Uri(address);</p> <p> WebClient client = new WebClient(); client.DownloadStringCompleted += (sender, e) => { if (e.Error == null) { System.Xml.Linq.XElement.Parse(e.Result);//字符串转为xml ItemsOnsaleGetResponse list = SerializeHelper.DeserializeFromString<ItemsOnsaleGetResponse>(e.Result);//反序列化 if (list != null) { if (list.Items != null && list.Items.Count > 0) { MessageBox.Show(list.Items[0].NumIid.ToString()); } } else { } } else { MessageBox.Show(e.Error.Message); } }; client.DownloadStringAsync(uri); } SerializeHelper 复制代码 代码如下:public class SerializeHelper { private SerializeHelper() { }</p> <p> #region Serialize</p> <p> /// <summary> /// 序列化实体 /// </summary> /// <typeparam name="T">实体类型</typeparam> /// <param name="data">实体</param> /// <returns>xml字体串</returns> public static string Serialize<T>(T data) { try { var serializer = new XmlSerializer(typeof(T));</p> <p> XmlSerializerNamespaces ns = new XmlSerializerNamespaces(); ns.Add("", ""); XmlWriterSettings writerSettings = new XmlWriterSettings(); writerSettings.OmitXmlDeclaration = true; StringWriter stringWriter = new StringWriter(); using (XmlWriter xmlWriter = XmlWriter.Create(stringWriter, writerSettings)) { serializer.Serialize(xmlWriter, data, ns); } string xmlText = stringWriter.ToString();</p> <p> return xmlText; } catch (InvalidOperationException ex) { if (ex.Message != "") { } }</p> <p> return string.Empty; }</p> <p> public static string SerializeList<T>(List<T> list) { try { var serializer = new XmlSerializer(typeof(List<T>));</p> <p> XmlSerializerNamespaces ns = new XmlSerializerNamespaces(); ns.Add("", ""); XmlWriterSettings writerSettings = new XmlWriterSettings(); writerSettings.OmitXmlDeclaration = true; StringWriter stringWriter = new StringWriter(); using (XmlWriter xmlWriter = XmlWriter.Create(stringWriter, writerSettings)) { serializer.Serialize(xmlWriter, list, ns); } string xmlText = stringWriter.ToString();</p> <p> return xmlText; } catch { }</p> <p> return string.Empty; }</p> <p> #endregion</p> <p> #region Deserializer</p> <p> /// <summary> /// 反序列化实体 /// </summary> /// <typeparam name="T">实体类型</typeparam> /// <param name="xml">xml字体串</param> /// <returns>实体</returns> public static T DeserializeFromString<T>(string xml) { T theObject; try { XmlReader reader = XmlReader.Create(new StringReader(xml)); var serializer = new XmlSerializer(typeof(T)); theObject = (T)serializer.Deserialize(reader); reader.Close(); return theObject; } catch { }</p> <p> return default(T); }</p> <p> public static List<T> DeserializeListFromString<T>(string xml) { try { var serializer = new XmlSerializer(typeof(List<T>)); StringReader reader = new StringReader(xml);</p> <p> List<T> list = (List<T>)serializer.Deserialize(reader); reader.Close();</p> <p> return list; } catch (InvalidOperationException ex) { if (ex.InnerException.Message != "") { } }</p> <p> return null; }</p> <p> #endregion } 淘宝相关的数据类型 web.config中的配置 复制代码 代码如下:<appSettings> <!--IsSandBox 1=沙箱开启 0=非沙箱(正式环境) --> <add key="SandBox" value="1"/> <!--应用 信息--> <add key="AppKey" value="1012596959"/> <add key="AppSecret" value="sandboxc5928dd8d1cfa3bb4f7d87e33"/></p> <p> </appSettings> 另外,web中的那些Client.cs和Config.cs则是从淘宝示例Demo中来的。 最终数据的获取如下: |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论