Advertisement
SqLasticSoftware

Instagram Checker | Check İşlemi

Apr 17th, 2017
937
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.13 KB | None | 0 0
  1. using System;
  2. using System.IO;
  3. using System.Net;
  4. using System.Text;
  5. using System.Reflection;
  6. using System.Collections;
  7.  
  8. namespace FlatUIRemake
  9. {
  10.     public class InstagramChecker
  11.     {
  12.         private CookieContainer session;
  13.         private readonly string userAgent;
  14.  
  15.         public InstagramChecker()
  16.         {
  17.             session = new CookieContainer();
  18.             userAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36";
  19.             IntializeSession();
  20.         }
  21.  
  22.         private void IntializeSession()
  23.         {
  24.             var req = (HttpWebRequest)WebRequest.Create("https://www.instagram.com/");
  25.             req.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8";
  26.             req.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
  27.             req.Headers.Add("accept-encoding", "gzip, deflate, sdch");
  28.             req.Headers.Add("accept-language", "en-US,en;q=0.8");
  29.             req.Headers.Add("upgrade-insecure-requests", "1");
  30.             req.CookieContainer = session;
  31.             req.UserAgent = userAgent;
  32.  
  33.             using (var res = (HttpWebResponse)req.GetResponse()) { }
  34.         }
  35.  
  36.         public bool IsUsernameAvailable(string username)
  37.         {
  38.             var req = (HttpWebRequest)WebRequest.Create("https://www.instagram.com/accounts/web_create_ajax/attempt/");
  39.             req.Method = "POST";
  40.             req.Accept = "*/*";
  41.             req.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
  42.             req.Referer = "https://www.instagram.com/";
  43.             req.CookieContainer = session;
  44.             req.UserAgent = userAgent;
  45.             req.Headers.Add("x-csrftoken", GetCsrfToken(session));
  46.             req.Headers.Add("x-instagram-ajax", "1");
  47.             req.Headers.Add("x-requested-with", "XMLHttpRequest");
  48.  
  49.             using (var rs = req.GetRequestStream())
  50.             {
  51.                 string postForm = string.Format("email={0}&password={1}&username={2}&first_name={3}", "örnek@gmail.com", "şifreniz", kullanıcı adınız, "SqLastic");
  52.                 byte[] payload = Encoding.UTF8.GetBytes(postForm);
  53.  
  54.                 rs.Write(payload, 0, payload.Length);
  55.             }
  56.  
  57.             using (var res = (HttpWebResponse)req.GetResponse())
  58.             using (var sr = new StreamReader(res.GetResponseStream()))
  59.             {
  60.                 return !sr.ReadToEnd().Contains("errors\":{\"username");
  61.             }
  62.         }
  63.  
  64.         private string GetCsrfToken(CookieContainer cookieContainer)
  65.         {
  66.             var flags = BindingFlags.NonPublic | BindingFlags.GetField | BindingFlags.Instance;
  67.             var table = (Hashtable)cookieContainer.GetType().InvokeMember("m_domainTable", flags, null, cookieContainer, new object[] { });
  68.  
  69.             foreach (Cookie cookie in cookieContainer.GetCookies(new Uri("http://www.instagram.com/")))
  70.             {
  71.                 if (cookie.Name == "csrftoken")
  72.                 {
  73.                     return cookie.Value;
  74.                 }
  75.             }
  76.  
  77.             return null;
  78.         }
  79.     }
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement