public void GetProductsWithQueryStringRelative() { var serializer = new XmlSerializer(typeof(Crawler.Model.CJ.cjapi)); HttpClient client = new HttpClient(); client.BaseAddress = new Uri("https://product-search.api.cj.com"); HttpQueryString query = new HttpQueryString(); query.Add("website-id", "3100204"); query.Add("keywords", "DVD"); query.Add("page-number", "1"); query.Add("records-per-page", "1000"); var uri = HttpQueryString.MakeQueryString(new Uri("/v2/product-search?", UriKind.Relative), query); var req = new HttpRequestMessage("GET", uri); req.Headers.Add("authorization", "00b171e48c4bc1e70836b252e1c4c40a893f19db0457be8447b1acdbdc0e7e769e1b804c1af54f883326d6147d1365f4b5f031a61740cf0c63a9f4b3d174cebbbf/420a385c3aa9bcd962b9f57ccf2583225758c11999aa6f42db8e90f9126fe0a7110790cd2ccd66a4f1861e89bd33fcfa6f528b494fa183f5d380ca289d18c309"); using (var response = client.Send(req)) { //string results = response.Content.ReadAsString(); var extended = (object)serializer.Deserialize(response.Content.ReadAsStream()); } }
public void GetProductsWithQueryStringRelative() { var serializer = new XmlSerializer(typeof(Crawler.Model.LinkShare.result)); HttpClient client = new HttpClient(); client.BaseAddress = new Uri("http://feed.linksynergy.com"); HttpQueryString query = new HttpQueryString(); query.Add("token", "5bfb339580a02308573204c2ac1bb921ecba09ba542a19d271c2d7e9c27a509f"); query.Add("keyword", "DVD Player"); query.Add("Page", "1"); query.Add("MaxResults", "100"); var uri = HttpQueryString.MakeQueryString(new Uri("/productsearch?", UriKind.Relative), query); var req = new HttpRequestMessage("GET", uri); using (var response = client.Send(req)) { //string results = response.Content.ReadAsString(); var extended = (object)serializer.Deserialize(response.Content.ReadAsStream()); } }
protected T RequestRESTJsonData <T>(HttpQueryString queryString, Uri resourceURI) { try { //create your request with your base URL and QS HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(HttpQueryString.MakeQueryString(resourceURI, queryString)); req.ContentType = "application/json"; Output(req.Address.ToString()); HttpWebResponse wr = req.GetResponse() as HttpWebResponse; DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T)); //T data = (T)ser.ReadObject((wr.GetResponseStream())); T data = wr.ReadAsJsonDataContract <T>(); // JsonContentExtensions.ReadAsJsonDataContract(); return(data); } catch (WebException exc) { lastResponse = (HttpWebResponse)exc.Response; Output("RequestRESTData error: " + exc.Message); if (exc.Response != null) { throw new ApplicationException(((HttpWebResponse)exc.Response).StatusDescription); } else { throw new ApplicationException(exc.Message); // added to deal with timeout errors where response is null } } }
protected T DeleteRESTData <T>(HttpQueryString queryString, Uri resourceURI) { try { //create your request with your base URL and QS HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(HttpQueryString.MakeQueryString(resourceURI, queryString)); req.Credentials = CredentialCache.DefaultCredentials; req.ContentType = "text/xml"; req.Method = "DELETE"; Output(req.Address.ToString()); HttpWebResponse wr = req.GetResponse() as HttpWebResponse; T data = wr.ReadAsDataContract <T>(); return(data); } catch (WebException exc) { lastResponse = (HttpWebResponse)exc.Response; Output("DeleteRESTData error: " + exc.Message); if (exc.Response != null) { throw new ApplicationException(((HttpWebResponse)exc.Response).StatusDescription); } else { throw new ApplicationException(exc.Message); // added to deal with timeout errors where response is null } } }
private void BuildRequest() { HttpQueryString query = new HttpQueryString(); query.Add(Model.CJ.QueryConstants.WebsiteID, ConfigurationManager.AppSettings["cjSiteID"]); query.Add(Model.CJ.QueryConstants.PageNumber, "1"); query.Add(Model.CJ.QueryConstants.RecordsPerPage, "1000"); var uri = HttpQueryString.MakeQueryString(new Uri(METHOD, UriKind.Relative), query); request = new HttpRequestMessage("GET", uri); request.Headers.Add(Model.CJ.QueryConstants.Authorization, ConfigurationManager.AppSettings["cjDeveloperKey"]); }
protected T PutRESTData <T>(HttpQueryString queryString, Uri resourceURI, object postObject) { try { MemoryStream stream = new MemoryStream(); XmlSerializer serializer = new XmlSerializer(postObject.GetType()); serializer.Serialize(stream, postObject); byte[] b = stream.ToArray(); //create your request with your base URL and QS HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(HttpQueryString.MakeQueryString(resourceURI, queryString)); req.Credentials = CredentialCache.DefaultCredentials; req.ServicePoint.ConnectionLeaseTimeout = 0; req.ContentType = "text/xml"; req.ContentLength = b.Length; req.Method = "PUT"; Stream dataStream = req.GetRequestStream(); dataStream.Write(b, 0, b.Length); dataStream.Close(); Output(req.Address.ToString()); HttpWebResponse wr = req.GetResponse() as HttpWebResponse; T data = wr.ReadAsXmlDataContract <T>(); return(data); } catch (WebException exc) { lastResponse = (HttpWebResponse)exc.Response; Output("PutRESTData error: " + exc.Message); if (exc.Response != null) { throw new ApplicationException(((HttpWebResponse)exc.Response).StatusDescription); } else { throw new ApplicationException(exc.Message); // added to deal with timeout errors where response is null } } }