/// <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()); }
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); }
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); }
/// <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); }
private SerializableWebRequest getPostAuthenticateRequest() { SerializableWebRequest req; req = new SerializableWebRequest(); req.Url = _authenticateRedirectUrl; return(req); }
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); }
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); }
public SerializableWebRequest GetNextRequest() { SerializableWebRequest req; if (_finished) { return(null); } processParamters(); req = new SerializableWebRequest(); req.Url = _diggUrl; return(req); }
public SerializableWebRequest GetNextRequest() { SerializableWebRequest req; if (_requestMade) { return(null); } req = new SerializableWebRequest(); req.Url = GetSearchUrl(_url); _requestMade = true; return(req); }
public SerializableWebRequest GetNextRequest() { SerializableWebRequest req; if (_requestMade) { return(null); } req = new SerializableWebRequest(); req.Url = getDeliciousUrl(FormatUrl(_url)); _requestMade = true; return(req); }
public SerializableWebRequest GetNextRequest() { SerializableWebRequest req; if (_requestMade) { return(null); } readParameters(); req = new SerializableWebRequest(); req.Url = string.Format(SEARCH_URL, _searchPhrase); _requestMade = true; return(req); }
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); }
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); }
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); }
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); }
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); }