1 Востаннє редагувалося poputkonikita (08.05.2016 20:30:51)

Тема: Авторизація в Instagram за допомогою C# та xNet

Доброго дня, я маю програмку для інстаграму, але проблема полягає в тому, що ніяк не можу відловити який рядок при цьому відправляється на сервер и яку cookie ми отримуємо під час успішної аутентифікації, для цього використовую збірку xNet.

Ось шматок коду:

Request.AllowAutoRedirect = true;
Request.UserAgent = Http.OperaUserAgent();
Request.Cookies = new CookieDictionary();

Response = Request.Post(
    "https://www.instagram.com/accounts/login/ajax/",
    "username=" +login+ "&password=" + password);

MessageBox.Show(Response.ToString());

if (Response.Cookies.ContainsKey(""))
{
    return "True";
}
else
{
    return "False";
}

Під час компіляціі вибиває виключення, кажучи, що : " Файл 'C:\Users\User1\documents\.....\bin \Debug\username=login&password=12345' не найден" де login;12545 - вміст змінних , підкажіть, що не правильно в реалізації, або як краще це реалізувати.

2

Re: Авторизація в Instagram за допомогою C# та xNet

а яка сигнарута метода Request.Post?

3

Re: Авторизація в Instagram за допомогою C# та xNet

FakiNyan написав:

а яка сигнарута метода Request.Post?

Ось повний код:

{
    public class Checker
    {
       
        public static string Check(string login, string password)
        {
            try
            {
                using (var Request = new HttpRequest())
                {
                    HttpResponse Response;
                    if (Globals.TypeProxy == 1)
                    {
                        Request.Proxy = HttpProxyClient.Parse(GetProxy());
                    }
                    else if (Globals.TypeProxy == 2)
                    {
                        Request.Proxy = Socks4ProxyClient.Parse(GetProxy());
                    }
                    else if (Globals.TypeProxy == 3)
                    {
                        Request.Proxy = Socks5ProxyClient.Parse(GetProxy());
                    }

                    Request.AllowAutoRedirect = true;
                    Request.UserAgent = Http.OperaUserAgent();
                    Request.Cookies = new CookieDictionary();

                    Response = Request.Post(
                        "https://www.instagram.com/accounts/login/ajax/",
                        "username=" + login + "&password=" + password);

                    MessageBox.Show(Response.ToString());

                    if (Response.Cookies.ContainsKey("csrftoken"))
                    {
                        return "True";

                    }
                    else
                    {
                        return "False";
                    }




                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                Check(login, password);
            }
            return "";
            
        }
        private static string GetProxy()
        {
            Random Rand = new Random();
            return Convert.ToString( Globals.Proxy[Rand.Next(0, Globals.Proxy.Count)]);
        }

    }
}

4

Re: Авторизація в Instagram за допомогою C# та xNet

щось я не знаходжу методу Post в класі HttpRequest

5

Re: Авторизація в Instagram за допомогою C# та xNet

а, то ж xnet, а я стандартну бібліотеку дивився.
Наскільки я пам'ятаю, то POST використовується для відправки даних, a GET для прийняття. І схоже, шо при виклику методу POST воно намагається відправити якийсь файл, шлях до котрого ви вказуєте в другому аргументі.
Спробуйте GET, замість POST, і параметри пишіть відразу в url

6

Re: Авторизація в Instagram за допомогою C# та xNet

Я не розумію для чого ви це робите. В інстаграм є документація як там можна авторизуватись

https://www.instagram.com/developer/authentication/

Подякували: leofun011

7

Re: Авторизація в Instagram за допомогою C# та xNet

FakiNyan написав:

а, то ж xnet, а я стандартну бібліотеку дивився.
Наскільки я пам'ятаю, то POST використовується для відправки даних, a GET для прийняття. І схоже, шо при виклику методу POST воно намагається відправити якийсь файл, шлях до котрого ви вказуєте в другому аргументі.
Спробуйте GET, замість POST, і параметри пишіть відразу в url

Переробив на GET, так як вказано у збірці на github, але тепер Response повартає повідомлення "Не вдалося підключитися до серверу instagram.com", підкажіть що може бути не так з підключенням.

8

Re: Авторизація в Instagram за допомогою C# та xNet

poputkonikita написав:
FakiNyan написав:

а, то ж xnet, а я стандартну бібліотеку дивився.
Наскільки я пам'ятаю, то POST використовується для відправки даних, a GET для прийняття. І схоже, шо при виклику методу POST воно намагається відправити якийсь файл, шлях до котрого ви вказуєте в другому аргументі.
Спробуйте GET, замість POST, і параметри пишіть відразу в url

Переробив на GET, так як вказано у збірці на github, але тепер Response повартає повідомлення "Не вдалося підключитися до серверу instagram.com", підкажіть що може бути не так з підключенням.

там має бути більше інфи, чому не вдалось підключитись

9

Re: Авторизація в Instagram за допомогою C# та xNet

там має бути більше інфи, чому не вдалось підключитись

Post's attachments

170516211348445.jpg 19.81 kb, 273 downloads since 2016-05-17 

10

Re: Авторизація в Instagram за допомогою C# та xNet

тоді тре звернутись до документації цієї ліби і глянути, в яких випадках вилазить ця помилка