Exemplo n.º 1
0
        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());
            }
        }
Exemplo n.º 2
0
        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());
            }
        }
Exemplo n.º 3
0
        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
                }
            }
        }
Exemplo n.º 4
0
        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"]);
        }
Exemplo n.º 6
0
        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
                }
            }
        }