Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
2 / 2 / 0
Регистрация: 04.02.2013
Сообщений: 8

Авторизация на сайте

31.10.2014, 20:41. Показов 2418. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В devel studio использовал такой код для авторизации и отправки вопроса на ask.fm

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
define('SETUSERAGENT', 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)');
 
function getToken() {
    $a = curl_init("http://ask.fm/vitafon007");
    curl_setopt($a, CURLOPT_USERAGENT, SETUSERAGENT);
    curl_setopt($a, CURLOPT_COOKIEJAR, 'cookie.txt');
    curl_setopt($a, CURLOPT_COOKIEFILE, 'cookie.txt');
    curl_setopt($a, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($a, CURLOPT_CONNECTTIMEOUT, 10);
    curl_setopt($a, CURLOPT_MAXREDIRS, 10);
    curl_setopt($a, CURLOPT_REFERER, 'http://ask.fm/');
    curl_setopt($a, CURLOPT_FOLLOWLOCATION, 0);
    curl_setopt($a, CURLOPT_HEADER, FALSE);
    curl_setopt($a, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($a, CURLOPT_SSL_VERIFYHOST, 0);
    $wynik = curl_exec($a);
    curl_close($a);
    preg_match_all('#<input name="authenticity_token" type="hidden" value="(.*)" />#', $wynik, $token);
    return $token[1][0];
}
 
 
function login($login, $password) {
    $token = getToken();
    $curlchanel = curl_init("http://ask.fm/session");
    curl_setopt($curlchanel, CURLOPT_USERAGENT, SETUSERAGENT);
    curl_setopt($curlchanel, CURLOPT_COOKIEJAR, 'cookie.txt');
    curl_setopt($curlchanel, CURLOPT_COOKIEFILE, 'cookie.txt');
    curl_setopt($curlchanel, CURLOPT_HEADER, 0);
    curl_setopt($curlchanel, CURLOPT_TIMEOUT, 6);
    curl_setopt($curlchanel, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($curlchanel, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($curlchanel, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curlchanel, CURLOPT_POSTFIELDS, trim("authenticity_token=$token&login=$login&password=$password&follow=&like=&back=&authenticity_token=$token"));
    $wynik = curl_exec($curlchanel);
    curl_close($curlchanel);
 
}
function ask($question, $user) {
 
    $question = urlencode(iconv ("CP1251","UTF-8",$question))
    $token = getToken();
    $curlchanel = curl_init("http://ask.fm/$user/questions/create");
    curl_setopt($curlchanel, CURLOPT_USERAGENT, SETUSERAGENT);
    curl_setopt($curlchanel, CURLOPT_COOKIEJAR, 'cookie.txt');
    curl_setopt($curlchanel, CURLOPT_COOKIEFILE, 'cookie.txt');
    curl_setopt($curlchanel, CURLOPT_HEADER, 0);
    curl_setopt($curlchanel, CURLOPT_TIMEOUT, 6);
    curl_setopt($curlchanel, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curlchanel, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($curlchanel, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($curlchanel, CURLOPT_POSTFIELDS, trim("authenticity_token=$token&question%5Bquestion_text%5D=$question%3F&question%5Bforce_anonymous%5D=&question%5Bforce_anonymous%5D=force_anonymous&authenticity_token=$token"));
    $wynik = curl_exec($curlchanel);
    curl_close($curlchanel);
 
}

Пришлось уйти из devel studio, там не получилось сделать выполнение в "реальном времени" в C# есть команда хорошая
C#
1
Application.DoEvents();
альтернативы на devel studio не нашел(

что может перевести код из php в c# буду оч благодарен
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.10.2014, 20:41
Ответы с готовыми решениями:

Авторизация на сайте
Добрый день, форумчане! необходимо программно авторизоваться на сайте https://www.futbin.com. На сайте, как я понял, стоит CSRF. Через...

Авторизация на сайте
Создаю POST запрос, по данным из HTTP Анализатора. HttpWebRequest request =...

Авторизация на сайте
Добрый вечер, задался идеей реализовать программный вход на сайт для дальнейшего парсинга..Вообщем вся проблема в том что не получается...

2
871 / 721 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
31.10.2014, 22:28
vitafon007,
Вместо
C#
1
Application.DoEvents()
лучше создайте поток
По поводу кода, смотрите в сторону HttpWebRequest и HttpWebResponse
0
 Аватар для Lynatik001
48 / 40 / 15
Регистрация: 28.09.2012
Сообщений: 818
01.11.2014, 01:48
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
using System.IO;
namespace parser
{
    class Program
    {
        static string getResponse(string uri)
        {
            StringBuilder sb = new StringBuilder();
            byte[] buf = new byte[8192];
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            Stream resStream = response.GetResponseStream();
            int count = 0;
            do
            {
                count = resStream.Read(buf, 0, buf.Length);
                if (count != 0)
                {
                    sb.Append(Encoding.Default.GetString(buf, 0, count));
                }
            }
            while (count > 0);
            return sb.ToString();
        }
 
        static private void addd(string line)
        {
            System.IO.StreamWriter writer = new System.IO.StreamWriter("pars.txt", true);
            writer.WriteLine(line);
            writer.Close();
        }
 
        static void Main(string[] args)
        {
            string porovnat = " ";
            int shet=0;
            string zapis;
            int index=1;
            try
                {
            for (int i2 = 1; i2 < 100000; i2++)
            {
                string t = getResponse("http://market.yandex.ua/guru.xml?hid=91491&CMD=-RR=9,0,0,0-VIS=270-CAT_ID=160043-BPOS=" + i2 + "0-EXC=1-PG=10&greed_mode=false");
                string tm = t;
                if (t == porovnat || index <= 0)
                    break;
                for (int i = 0; i < 10; i++)
                {
                    index = t.IndexOf("<a id=\"item-href");
 
                    if (index <= 0)
                    {
                        shet++;
                        Console.WriteLine("error index" + shet.ToString());
                        break;
                    }
 
                        t = t.Substring(index, t.Length - index);
                        index = t.IndexOf("</a>");
                        zapis = t.Substring(0, index + 4);
                        addd(zapis);
                        t = t.Substring(index, t.Length - index);
                        porovnat = tm;
                }
            }
                }
                catch(Exception e)
                {
                    Console.WriteLine(e);
                    Console.ReadLine();
                }
            System.Threading.Thread.Sleep(100);
 
        }
    }
}
Вот пример его использования))
Парсю текст) Давно писал, тоже было ли 1 или 2 знакомство с этимы методами
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.11.2014, 01:48
Помогаю со студенческими работами здесь

Авторизация на сайте
Можно тут попросить у кого-нибудь написать авторизацию на сайте https://armorgames.com/login с сохранением кукисов, а то разобраться не...

Авторизация на сайте C#
Привет, уважаемые форумчане! Я заядлый игрок в WOT и поэтому решил написать небольшую прогу, в виде гаджета, которая могла бы мне...

Авторизация на сайте
Здравствуйте! Возникла проблема, надеюсь на вашу помощь. Есть сайт - тык, необходимо каким-либо способом авторизоваться программно на...

Авторизация на сайте
Пытаюсь авторизоваться на сайте http://xterium.ru/login Тестовые данные: E-mail: c2785429@trbvn.com Логин: c2785429 Пароль:...

Авторизация на сайте
Мне надо авторизоваться на сайте google.ru почты и взять от туда последнее письмо. Я не нашел ни какой информации как авторизоваться на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru