Advertisement
Guest User

Untitled

a guest
Jan 28th, 2020
403
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.48 KB | None | 0 0
  1. using Newtonsoft.Json.Linq;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.IO;
  5. using System.Json;
  6. using System.Linq;
  7. using System.Net;
  8. using System.Net.Http;
  9. using System.Net.Http.Headers;
  10. using System.Text;
  11. using System.Text.RegularExpressions;
  12. using System.Threading.Tasks;
  13. using System.Windows.Forms;
  14.  
  15. namespace VicsManager
  16. {
  17.     class ClientEmailnDE
  18.     {
  19.         public String USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0";
  20.  
  21.         public String AccessToken;
  22.  
  23.         public HttpClientHandler httpClientHandler;
  24.         public HttpClient httpClient;
  25.  
  26.         public ClientEmailnDE()
  27.         {
  28.             AccessToken = "";
  29.  
  30.             httpClientHandler = new HttpClientHandler
  31.             {
  32.                 AllowAutoRedirect = true,
  33.                 UseCookies = true,
  34.                 CookieContainer = new CookieContainer()
  35.             };
  36.  
  37.             httpClient = new HttpClient(httpClientHandler);
  38.         }
  39.  
  40.         public async Task createAsync()
  41.         {
  42.             AccessToken = Task.Run(async () => await setAccessTokenAsync()).Result;
  43.  
  44.             if (AccessToken != null && AccessToken.Length > 0)
  45.             {
  46.                 Console.WriteLine("Access-Token: " + AccessToken);
  47.  
  48.                 //httpClientHandler.CookieContainer.Add(new Cookie("Cookie", "session=1"));
  49.  
  50.                 httpClient.DefaultRequestHeaders.Add("User-Agent", USER_AGENT);
  51.                 httpClient.DefaultRequestHeaders.Add("Accept", "application/json, text/plain, */*");
  52.                 httpClient.DefaultRequestHeaders.Add("Accept-Language", "de,en-US;q=0.7,en;q=0.3");
  53.  
  54.                 //httpClient.Content.Headers.ContentType = new MediaTypeHeaderValue("application/x-www-form-urlencoded");
  55.                 //httpClient.DefaultRequestHeaders.Add("Accept-Encoding", "gzip, deflate, br");
  56.  
  57.                 //httpClient.DefaultRequestHeaders.Add("X-CAPTCHA-TOKEN", "");
  58.                 httpClient.DefaultRequestHeaders.Add("Referrer", "https://www.emailn.de/e-mail-adresse-erstellen");
  59.                 //httpClient.DefaultRequestHeaders.Add("Host", "www.emailn.de");
  60.                 httpClient.DefaultRequestHeaders.Add("Upgrade-Insecure-Requests", "1");
  61.  
  62.                 // Captcha
  63.                 httpClient.DefaultRequestHeaders.Add("X-CAPTCHA-SOLUTION", "");
  64.  
  65.                 var email = "honorcool1";
  66.                 var contactEmail = "conmaxtact1@gmx.de";
  67.                 var domain = "emailn.de";
  68.                 var password = "Test.Pass494!";
  69.  
  70.                 var parameters = new Dictionary<string, string> {
  71.                         { "do", "createAccount" },
  72.                         { "transPostVars", "true" },
  73.                         { "email_local", email },
  74.                         { "email_domain", domain },
  75.                         { "phone", "" },
  76.                         { "altmail", contactEmail },
  77.                         { "pass1", password },
  78.                         { "pass2", password },
  79.                         { "g-recaptcha-response", "" },
  80.                         { "tos", "true" }
  81.                     };
  82.  
  83.                 var encodedContent = new FormUrlEncodedContent(parameters);
  84.  
  85.                 var response = await httpClient.PostAsync("https://www.emailn.de/webmail/index.php?action=signup", encodedContent);
  86.                 var result = await response.Content.ReadAsStringAsync();
  87.  
  88.                 MessageBox.Show(result); // Disposed Exception
  89.             }
  90.             else
  91.             {
  92.                 Console.WriteLine("Fehler");
  93.             }
  94.         }
  95.  
  96.         public async Task<string> setAccessTokenAsync()
  97.         {
  98.             using (var client = httpClient)
  99.             {
  100.                 httpClient.DefaultRequestHeaders.Add("User-Agent", USER_AGENT);
  101.                 httpClient.DefaultRequestHeaders.Add("Accept", "text /html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
  102.                 httpClient.DefaultRequestHeaders.Add("Accept-Language", "de,en-US;q=0.7,en;q=0.3");
  103.                 httpClient.DefaultRequestHeaders.Add("Host", "www.emailn.de");
  104.                 httpClient.DefaultRequestHeaders.Add("DNT", "1");
  105.                 httpClient.DefaultRequestHeaders.Add("Upgrade-Insecure-Requests", "1");
  106.  
  107.                 var response = await client.GetAsync("https://www.emailn.de/e-mail-adresse-erstellen");
  108.                 string responseString = String.Empty;
  109.  
  110.                 if (response.IsSuccessStatusCode)
  111.                 {
  112.                     responseString = await response.Content.ReadAsStringAsync();
  113.  
  114.                     string aToken = GetBetween(responseString, "data-sitekey=\".*?\"");
  115.  
  116.                     if (aToken != null && aToken.Length > 0)
  117.                     {
  118.                         aToken = aToken.Replace("data-sitekey=", "");
  119.                         aToken = aToken.Replace("\"", "");
  120.  
  121.                         return aToken;
  122.                     }
  123.                 }
  124.             }
  125.  
  126.             return AccessToken;
  127.         }
  128.  
  129.         public string GetBetween(string str, string regx)
  130.         {
  131.             var reg = new Regex(regx);
  132.             var matches = reg.Matches(str);
  133.  
  134.             if(matches.Count > 0)
  135.             {
  136.                 return matches[0].Value;
  137.             }
  138.  
  139.             return null;
  140.         }
  141.  
  142.         public CookieContainer Cookies
  143.         {
  144.             get { return httpClientHandler.CookieContainer; }
  145.             set { httpClientHandler.CookieContainer = value; }
  146.         }
  147.     }
  148. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement