public string AuthorizePocket(string responseCode, string redirectUri, string username, string password, ContentType type) { var buildUrl = new StringBuilder(); buildUrl.Append(RequestAuthorizeUrl); buildUrl.Append("?request_token="); buildUrl.Append(responseCode); buildUrl.Append("&redirect_uri="); buildUrl.Append(redirectUri); var response = SubmitRequest(new PocketWebRequest { ContentyType = type == ContentType.Json?ContentTypeEncodeing.JsonUtf8Encoded:ContentTypeEncodeing.FormUrlEncoded, RequestMethod = WebRequestMethods.Http.Get, Url = buildUrl.ToString() }); LoginProcess loginProcess = ParseAuthorizePage(response); string loginProcessUriParameters = BuildLoginProcessUri(loginProcess, username, password); AttemptLoginProcess(loginProcessUriParameters, type, buildUrl.ToString()); return(response); }
private string BuildLoginProcessUri(LoginProcess loginProcess, string username, string password) { var parameterBuilder = new StringBuilder(); parameterBuilder.Append("feed_id="); parameterBuilder.Append(username); parameterBuilder.Append("&password="******"&form_check="); parameterBuilder.Append(HttpUtility.UrlEncode(loginProcess.FormCheck)); parameterBuilder.Append("&source="); parameterBuilder.Append(HttpUtility.UrlEncode(loginProcess.Source)); parameterBuilder.Append("&route="); parameterBuilder.Append(HttpUtility.UrlEncode(loginProcess.Route)); return(parameterBuilder.ToString()); }
public LoginProcess ParseAuthorizePage(string result) { var loginProcess = new LoginProcess(); bool foundLoginSection = false; var reader = new StringReader(result); while (reader.Peek() != -1) { string line = reader.ReadLine(); if (foundLoginSection) { if (line != null && line.Contains("type=\"hidden\"")) { if (line.Contains("name=\"form_check\"")) { loginProcess.FormCheck = ReviewValueFieldFromHtml(line); } else if (line.Contains("name=\"source\"")) { loginProcess.Source = ReviewValueFieldFromHtml(line); } else if (line.Contains("name=\"route\"")) { loginProcess.Route = ReviewValueFieldFromHtml(line); } else { continue; } } } if (line != null && (line.Contains("form") && line.Contains("action=\"/login_process\""))) { foundLoginSection = true; } } return(loginProcess); }
public LoginProcess ParseAuthorizePage(string result) { var loginProcess = new LoginProcess(); bool foundLoginSection = false; var reader = new StringReader(result); while (reader.Peek() != -1) { string line = reader.ReadLine(); if (foundLoginSection) { if(line != null && line.Contains("type=\"hidden\"")) { if (line.Contains("name=\"form_check\"")) { loginProcess.FormCheck = ReviewValueFieldFromHtml(line); } else if (line.Contains("name=\"source\"")) { loginProcess.Source = ReviewValueFieldFromHtml(line); } else if (line.Contains("name=\"route\"")) { loginProcess.Route = ReviewValueFieldFromHtml(line); } else continue; } } if (line != null && (line.Contains("form") && line.Contains("action=\"/login_process\""))) foundLoginSection = true; } return loginProcess; }
private string BuildLoginProcessUri(LoginProcess loginProcess, string username, string password) { var parameterBuilder = new StringBuilder(); parameterBuilder.Append("feed_id="); parameterBuilder.Append(username); parameterBuilder.Append("&password="******"&form_check="); parameterBuilder.Append(HttpUtility.UrlEncode(loginProcess.FormCheck)); parameterBuilder.Append("&source="); parameterBuilder.Append(HttpUtility.UrlEncode(loginProcess.Source)); parameterBuilder.Append("&route="); parameterBuilder.Append(HttpUtility.UrlEncode(loginProcess.Route)); return parameterBuilder.ToString(); }