/// <param name="request">
        ///		The information about the request that should be made.
        /// </param>
        /// <returns>
        ///		The response from the server.
        /// </returns>
        public HttpWebResponse ProcessRequest(SerializableWebRequest request)
        {
            HttpWebRequest httpRequest;

            byte[] postBytes;
            Stream requestStream;

            httpRequest = (HttpWebRequest)HttpWebRequest.Create(request.Url);
            httpRequest.CookieContainer = _cookies;
            //Todo: randomize this
            httpRequest.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1";
            //We need this, particularly for Google login stuff
            httpRequest.AllowAutoRedirect = true;

            //Check if there is any data to post
            if (request.PostData != null)
            {
                //Set up the post data
                postBytes = Encoding.UTF8.GetBytes(request.PostData);

                httpRequest.Method        = "POST";
                httpRequest.ContentType   = "application/x-www-form-urlencoded";
                httpRequest.ContentLength = postBytes.Length;
                requestStream             = httpRequest.GetRequestStream();
                requestStream.Write(postBytes, 0, postBytes.Length);
                requestStream.Close();
            }

            return((HttpWebResponse)httpRequest.GetResponse());
        }
Exemple #2
0
        private SerializableWebRequest getSendCredentialsRequest()
        {
            StringBuilder          postStringBuilder;
            SerializableWebRequest req;

            postStringBuilder = new StringBuilder();

            //Append all of the hidden field name/value pairs
            for (int i = 0; i < _loginFormHiddenFields.Length; i++)
            {
                if (i > 0)
                {
                    postStringBuilder.Append("&");
                }

                postStringBuilder.Append(_loginFormHiddenFields[i][0] + "=" + HttpUtility.UrlEncode(_loginFormHiddenFields[i][1]));
            }

            //Append the username and password
            postStringBuilder.Append(
                string.Format("&Email={0}&Passwd={1}", HttpUtility.UrlEncode(_username), HttpUtility.UrlEncode(_password)));

            //Append some other stuff
            postStringBuilder.Append("&null=Sign+in");

            //Set up the request
            req          = new SerializableWebRequest();
            req.Url      = GOOGLE_LOGIN_URL;
            req.PostData = postStringBuilder.ToString();

            return(req);
        }
Exemple #3
0
 public void RequestUrl()
 {
     d.Parameters.Add(1, "http://www.digg.com/asdfasdf");
     req = d.GetNextRequest();
     Assert.AreEqual("http://www.digg.com/asdfasdf", req.Url);
     Assert.AreEqual(null, req.PostData);
 }
Exemple #4
0
        /// <summary>
        ///		This is phase 1 of the login process.  We need to make a request to
        ///		the adsense login page, and get a list of all the hidden fields, so
        ///		that we can post them back to the form just like a browser would.
        /// </summary>
        private SerializableWebRequest sendLoginFormHiddenFieldsRequest()
        {
            SerializableWebRequest req;

            req     = new SerializableWebRequest();
            req.Url = ADSENSE_LOGIN_URL;

            return(req);
        }
Exemple #5
0
        private SerializableWebRequest getPostAuthenticateRequest()
        {
            SerializableWebRequest req;

            req     = new SerializableWebRequest();
            req.Url = _authenticateRedirectUrl;

            return(req);
        }
Exemple #6
0
        public void GetNextRequest()
        {
            gr.Parameters.Add(1, "test phrase");
            gr.Url = "http://www.Test.com";

            req = gr.GetNextRequest();
            Assert.IsNull(req.PostData);
            Assert.AreEqual("http://www.google.com/search?q=test phrase&num=100", req.Url);
        }
Exemple #7
0
        public void ErrorHandling()
        {
            RawDataValue[] values;

            d.Parameters.Add(1, "http://www.digg.com/asdfasdf");
            req          = d.GetNextRequest();
            resp         = new SerializableWebResponse();
            resp.Content = "asdfasdf";
            d.SetResponse(resp);

            values = d.Values;

            Assert.AreEqual(2, values.Length);
            Assert.AreEqual(false, values[0].Success);
            Assert.AreEqual(false, values[1].Success);
        }
Exemple #8
0
        public SerializableWebRequest GetNextRequest()
        {
            SerializableWebRequest req;

            if (_finished)
            {
                return(null);
            }

            processParamters();

            req     = new SerializableWebRequest();
            req.Url = _diggUrl;

            return(req);
        }
Exemple #9
0
        public SerializableWebRequest GetNextRequest()
        {
            SerializableWebRequest req;

            if (_requestMade)
            {
                return(null);
            }

            req     = new SerializableWebRequest();
            req.Url = GetSearchUrl(_url);

            _requestMade = true;

            return(req);
        }
Exemple #10
0
        public SerializableWebRequest GetNextRequest()
        {
            SerializableWebRequest req;

            if (_requestMade)
            {
                return(null);
            }

            req = new SerializableWebRequest();

            req.Url = getDeliciousUrl(FormatUrl(_url));

            _requestMade = true;

            return(req);
        }
Exemple #11
0
        public SerializableWebRequest GetNextRequest()
        {
            SerializableWebRequest req;

            if (_requestMade)
            {
                return(null);
            }

            readParameters();

            req     = new SerializableWebRequest();
            req.Url = string.Format(SEARCH_URL, _searchPhrase);

            _requestMade = true;

            return(req);
        }
Exemple #12
0
        public void Comments()
        {
            RawDataValue[] values;

            d.Parameters.Add(1, "http://www.digg.com/asdfasdf");
            req          = d.GetNextRequest();
            resp         = new SerializableWebResponse();
            resp.Content = readEmbeddedText("Digg_Sample2.txt");
            d.SetResponse(resp);

            values = d.Values;
            Assert.AreEqual(2, values.Length);

            Assert.AreEqual(6, values[1].DatasourceSubTypeId);
            Assert.AreEqual(16, values[1].FloatValue);
            Assert.AreEqual(true, values[1].Success);
            Assert.IsTrue(values[1].Timestamp > DateTime.UtcNow.AddSeconds(-10) && values[1].Timestamp <= DateTime.UtcNow);
        }
Exemple #13
0
        public SerializableWebRequest GetNextRequest()
        {
            SerializableWebRequest request;

            if (_requestMade)
            {
                return(null);
            }

            _log.Debug("Setting 'finished' flag to true");
            _requestMade = true;

            request     = new SerializableWebRequest();
            request.Url = _gpr.GetPageRankURL(_url, true);

            _log.DebugFormat("Created Google PageRank request: '{0}'", request.ToString());

            return(request);
        }
Exemple #14
0
        public SerializableWebRequest GetNextRequest()
        {
            SerializableWebRequest request;

            if (_requestMade)
            {
                //We only want to make the request once, and then we're done.
                return(null);
            }
            else
            {
                _requestMade = true;
                readParameters();
            }

            request     = new SerializableWebRequest();
            request.Url = string.Format(GoogleRank.SEARCH_URL, _searchPhrase);

            return(request);
        }
Exemple #15
0
        public SerializableWebRequest GetNextRequest()
        {
            SerializableWebRequest request;

            if (_requestMade)
            {
                //We only want to make the request once, and then we're done.
                return(null);
            }
            else
            {
                _requestMade = true;
                readParameters();
            }

            request     = new SerializableWebRequest();
            request.Url = this.GetApiRequestUrl(API_KEY, _searchPhrase, "phrase", 100, 1, "any", true, false, "");

            return(request);
        }
Exemple #16
0
        private SerializableWebRequest getRunReportRequest()
        {
            SerializableWebRequest request;
            string reportUrl;

            request = new SerializableWebRequest();

            //Get yesterdays revenues
            if (_backLoad)
            {
                throw new NotImplementedException("Backloading adsense data is not yet supported");
            }
            else
            {
                _log.Debug("The backload option was not set, so data will be retrieve for yesterday only");
                reportUrl = GenerateReportUrl(DateTime.Now.AddDays(-1).Date, DateTime.Now.AddDays(-1).Date);
            }

            request.Url = reportUrl;

            return(request);
        }