Hallo zusammen,
ich bin dabei mich in Google einzuloggen, das ganze schon seit 4 Tagen.
(Webseite anfordern, Parameter suchen, Email setzen, absenden, feststellen das neue Parameter gesendet werden, wieder suchen, nicht finden, JS auseinander nehmen, mit neuen Parametern senden, Errors bekommen usw.)
Nach viel arbeit und kein Kopf mehr, nach dem ich kein plan hab wie die Parameter generiert werden, gib ich auf und such nun eine neuen Möglichkeit.
Die neue Möglichkeit, wäre das ich ein Webbrowser nehme, mich damit fein einlogge und dann die Cookies picke und sie in meinen CookieContainer packe.
1. Würde das ohne Probleme gehen, so das ich dann Angemeldet bleibe?
2. Hat jm. eine Alternativ lösung, dazu muss ich sagen, das ich Google schon besucht habe, aber da auf alte dinge gestoßen bin, so 2011-2015 usw., dabei hab ich auch gesehen, das einige API nicht mehr existieren usw.. Also falls jm. was hat, wäre es mega nice.
Mein Ansatz
Spoiler anzeigen
Ein Request, welche ganz andere Parameter besitzt als ich Quellcode, zb der Youtube:n:n, kein Plan wo er herkommt
ich bin dabei mich in Google einzuloggen, das ganze schon seit 4 Tagen.
(Webseite anfordern, Parameter suchen, Email setzen, absenden, feststellen das neue Parameter gesendet werden, wieder suchen, nicht finden, JS auseinander nehmen, mit neuen Parametern senden, Errors bekommen usw.)
Nach viel arbeit und kein Kopf mehr, nach dem ich kein plan hab wie die Parameter generiert werden, gib ich auf und such nun eine neuen Möglichkeit.
Die neue Möglichkeit, wäre das ich ein Webbrowser nehme, mich damit fein einlogge und dann die Cookies picke und sie in meinen CookieContainer packe.
1. Würde das ohne Probleme gehen, so das ich dann Angemeldet bleibe?
2. Hat jm. eine Alternativ lösung, dazu muss ich sagen, das ich Google schon besucht habe, aber da auf alte dinge gestoßen bin, so 2011-2015 usw., dabei hab ich auch gesehen, das einige API nicht mehr existieren usw.. Also falls jm. was hat, wäre es mega nice.
Mein Ansatz
C#-Quellcode
- public bool loginGoogleYoutube(string Email,string Password)
- {
- RequestBuilder Setting = new RequestBuilder();
- Setting.Site = "https://accounts.google.com/ServiceLogin";
- string Req_Setting = Request(Setting);
- #region "Request Body Setting" /*
- <input name="Page" type="hidden" value="PasswordSeparationSignIn">
- <input type="hidden" name="GALX" value="uYIf0ggBBd4">
- <input type="hidden" name="gxf" value="AFoagUUQtKRN2KPnBxCuuPGB_NOo2-f2QA:1490107112879">
- <input id="profile-information" name="ProfileInformation" type="hidden" value="">
- <input id="session-state" name="SessionState" type="hidden" value="">
- <input type="hidden" id="_utf8" name="_utf8" value="☃">
- <input type="hidden" name="bgresponse" id="bgresponse" value="js_disabled">
- <input type="hidden" id="pstMsg" name="pstMsg" value="0">
- <input type="hidden" id="checkConnection" name="checkConnection" value="">
- <input type="hidden" id="checkedDomains" name="checkedDomains"
- value="youtube"> */
- #endregion
- string[] ValOfSetting = new string[] {
- "Page", "GALX", "gxf",
- "ProfileInformation", "SessionState", "_utf8",
- "bgresponse", "pstMsg", "checkConnection", "checkedDomains"};
- string ValOfSettingPatter = "<input(?:\\s*|.+)?name=\"{0}\"(?:\\s*|.*)value=\"([^\"]*)\"[^>]*>";
- var Settings = ValOfSetting.Select(x =>
- {
- Match m = Regex.Match(Req_Setting, string.Format(ValOfSettingPatter, x));
- return new { Name = x, Value = m.Groups[1].Value };
- }).ToArray();
- RequestBuilder EmailWriteIn = new RequestBuilder();
- EmailWriteIn.Origin = "https://accounts.google.com";
- EmailWriteIn.Referer = "https://accounts.google.com/ServiceLogin";
- //Und ab hier ändern sich die type=hidden Name ="...", Werte, beim absenden.
- return false;
- }
- public class RequestBuilder
- {
- public List<RequestBuilderParameter> prams = new List<RequestBuilderParameter>();
- public enum Methode { POST, GET }
- /// <summary>
- /// Base: GET
- /// </summary>
- public Methode methode { get; set; } = Methode.GET;
- public string Site { get; set; } = string.Empty;
- public string Parameter { get { return string.Join("&", prams.Select(x => string.Concat(x.Name, "=", x.ParameterValue))); } }
- public string Origin { get; set; } = string.Empty;
- public string Referer { get; set; } = string.Empty;
- /// <summary>
- /// Base: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36
- /// </summary>
- public string UserAgent { get; set; } = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36";
- /// <summary>
- /// Base: application/x-www-form-urlencoded
- /// </summary>
- public string ContentType { get; set; } = "application/x-www-form-urlencoded";
- public IWebProxy Proxy { get; set; } = null;
- /// <summary>
- /// Base: 2000 ms = 2 sec
- /// </summary>
- public int Timeout { get; set; } = 2000;
- /// <summary>
- /// Base: true
- /// </summary>
- public bool AllowAutoRedirect { get; set; } = true;
- public void AddParameter(params RequestBuilderParameter[] parameter)
- {
- prams.AddRange(parameter);
- }
- public HttpWebRequest getSettings(CookieContainer cont)
- {
- if (!string.IsNullOrEmpty(Site)) {
- HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Site);
- if(!string.IsNullOrEmpty(Referer))
- request.Referer = Referer;
- if (!string.IsNullOrEmpty(Referer))
- request.Headers.Add("Origin", Origin);
- request.Proxy = Proxy;
- request.Method = methode.ToString();
- request.CookieContainer = cont;
- request.AllowAutoRedirect = AllowAutoRedirect;
- request.UserAgent = UserAgent;
- request.ContentType = ContentType;
- request.Timeout = Timeout;
- return request;
- }
- throw new Exception("Pleas Use a Webpage");
- }
- }
- public class RequestBuilderParameter
- {
- public string Name { set; get; }
- public string Value { get; set; }
- public bool EscapeUriString;
- public string ParameterValue { get { return EscapeUriString ? Uri.EscapeUriString(Value) : Value; } }
- public RequestBuilderParameter(string name,string value,bool escapeuristring = true)
- {
- Name = name;
- Value = value;
- EscapeUriString = escapeuristring;
- }
- }
Ein Request, welche ganz andere Parameter besitzt als ich Quellcode, zb der Youtube:n:n, kein Plan wo er herkommt
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Facebamm“ ()