2 / 2 / 0
Регистрация: 01.11.2012
Сообщений: 37
1

Отправка HTTP запроса

01.11.2012, 19:31. Показов 7441. Ответов 46
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Помогите разобраться с проблемой.
Я пишу бота для игры heroeswm.ru
Суть бота такова, что нужно он устраивает персонажа на работу. Пример страницы:
http://www.heroeswm.ru/object-info.php?id=5
Так вот, на этой странице есть капча и поле ввода с кнопкой сделанные на флеш. Капчу я выкачиваю и загоняю в капчабот. Затем уже посылаю код капчи и её ид на сервер.
Вот пример запроса:
Код:


GET /object-info.php?id=5&code=92msd6&code_id=d1840a30cdd09c76aacae9ed018026f4&pl_id=4023746 &rand1=0.24850&rand2=210.88028 HTTP/1.1
Host: www.heroeswm.ru
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:17.0) Gecko/17.0 Firefox/17.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Connection: keep-alive
Referer: http://www.heroeswm.ru/object-info.php?id=5
Cookie: l_obj_c=d1840a30cdd09c76aacae9ed018026f4; l_obj=5; PHPSESSID=4075f6ee4bc016de6b5f8ffaba8fb859; duration=32304; NSC_ifspftxn-209.200.152.144-80=ffffffffaeef3b6545525d5f4f58455e445a4a423660; pl_id=4023746; sid=db109656beb49a2e448572a0b97bd8fb
Но в итоге я получаю ту же самую страницу:
http://www.heroeswm.ru/object-info.php?id=5

Меня настораживает эта флеш форма... Что-то мне кажется, что тут не все так просто... Смотрел в сниффере что отправляется серверу, у меня точно так же. Но в ответ таже самая страница... Что может быть?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.11.2012, 19:31
Ответы с готовыми решениями:

Winsock отправка http post запроса
возникла необходимость в отправке post запроса, std::string get = "POST "; std::string...

Отправка http запроса и получение ответа
я понимаю что есть дофига тем про это, я честно гуглила и искала, но находила в основном код без...

Помогите отладеть код на С++ отправка запроса post по http
вот код клиента на С++ #include <windows.h> #include <windowsx.h> #include <commctrl.h>...

Отправка файла (HTTP+Winsock)
Добрый вечер. Опять столкнулся с проблемой, которую без вашей помощи не разрешить. Суть дела - пишу...

46
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
01.11.2012, 21:57 2
обозначения вида SESSID наводят на мысль что каждый сеанс связи получает уникальный идентификатор и подсовывать идентификатор другой сессии в текущей сессии не выйдет - шлите актуальные данные
0
2 / 2 / 0
Регистрация: 01.11.2012
Сообщений: 37
02.11.2012, 01:51  [ТС] 3
Так я же ничего не подменяю. Что мне в куках пришло, то и отправляю каждый раз.
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
02.11.2012, 04:28 4
Странно что там GET а не POST ...
Обычно POST передаются id каптчи и каптча текст

Добавлено через 3 минуты
Лично я такое наблюдаю при попытке входа
Код
POST /login.php LOGIN_redirect=1&login=%E5%F0%EF%F0%EF&lreseted=1&pass=123456789012345678901&preseted=1&x=101&y=20
GET /?o1&v16781077&s16779821&t0&c1&n784278&w0&m11&y0&d24&r1280
GET /counter?id=1279372;t=47
//....
Добавлено через 2 минуты
Т.е. POST с логином и паролем, и походу координаты клика для флеша

Добавлено через 1 минуту
А каптчи чет там не вижу...
0
2 / 2 / 0
Регистрация: 01.11.2012
Сообщений: 37
02.11.2012, 13:15  [ТС] 5
Да, авторизация через POST. Затем GET для получения страницы map.php, где есть координаты, указывающие положение на карте. И снова GET уже для получения страницы устройства на работу. Страница вида: /object-info.php?id=9.
Так вот, на этой странице висит капча и форма соответственно. При заполнении капчи генерируется GET запрос. Никакого POST нету. Я долго сниффер мучал)
Хотя может что-то там отправляется и не по HTTP и я этого не вижу...
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
02.11.2012, 14:55 6
Если переводит на страницу входа, значит вы не прошли авторизацию, или прошли не полностью или куки не правильно сохраняете/отправляете
0
2 / 2 / 0
Регистрация: 01.11.2012
Сообщений: 37
02.11.2012, 20:42  [ТС] 7
Да нет, авторизация проходит нормально! После авторизации получаю страницу map.php, на которой выдергиваю нужную ссылку и получаю страницу вида object-info.php?id=...
На этой странице уже я выдергиваю капчу и отправляю запрос с капчей и идшником.
GET /object-info.php?id=5&code=92msd6&code_id=d1840a30cdd09c76aacae9ed018026f4&pl_id=4023746 &rand1=0.24850&rand2=210.88028 HTTP/1.1
но ничего не происходит.
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
02.11.2012, 21:09 8
Да нет, авторизация проходит нормально!
Как знаете ?
но ничего не происходит.
А что должно было происходить ?

Добавлено через 1 минуту
GET /object-info.php?id=5&code=92msd6&code_id=d1840a30cdd09c76aacae9ed018026f4&pl_id=4023746 &rand1=0.24850&rand2=210.88028 HTTP/1.1
А где тут каптча-текст передается ?
0
2 / 2 / 0
Регистрация: 01.11.2012
Сообщений: 37
02.11.2012, 22:30  [ТС] 9
code=92msd6 - капчатекст
code_id=d1840a30cdd09c76aacae9ed018026f4 - ид капчи
А произойти должно чудо) Сервер пришлет мне страницу, на которой написано ОК. А он мне ту же самую шлет!
И с авторизацией все нормально!
0
2 / 2 / 0
Регистрация: 01.11.2012
Сообщений: 37
05.11.2012, 18:41  [ТС] 10
Идей больше нет?
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
06.11.2012, 02:48 11
Надо смотреть... может на неделе загляну...

А че капчабот нормально распознает каптчу от туда ?
0
2 / 2 / 0
Регистрация: 01.11.2012
Сообщений: 37
06.11.2012, 13:11  [ТС] 12
Да, но он часто выдает что слотов нет. Иногда даже при цене 0.006! Я потом другой сервис прикручу или несколько сразу... Но сейчас мне бы разобраться с этой дурной формой.

Что интересно, так то что в самой форме написано method=POST а отправляется GET. И HttpAnalyzerV5 мой бессилен. Может отправляется еще что-то?
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
06.11.2012, 19:51 13
Ну я тоже пользуюсь HttpAnalyzerV5, там видно что много что предается...

Но пока месть у меня залогиниться не получается, там что есть бан если что-то не так ?
0
2 / 2 / 0
Регистрация: 01.11.2012
Сообщений: 37
06.11.2012, 20:27  [ТС] 14
Не в курсе если честно.
Если что, то вот мой кусок говнакода для авторизации:
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
int Connectgame::Auth()
{
    string buf;
 
    buf.append("LOGIN_redirect=1&login=");
    buf += login;
    buf.append("&lreseted=1&pass=");
    buf += password;
 
    char lenght[20]={0};
    IntToStr(lenght,buf.size());
 
 
    httpsend.append("POST /login.php HTTP/1.1\r\n");
    httpsend.append("Host: www.heroeswm.ru\r\n");
    httpsend.append("User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:17.0) Gecko/17.0 Firefox/17.0\r\n");
    httpsend.append("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n");
    httpsend.append("Connection: keep-alive\r\n");
    httpsend.append("Referer: http://www.heroeswm.ru/index.php\r\n");
    httpsend.append("Content-Type: application/x-www-form-urlencoded\r\n");
    httpsend.append("Content-Length: ");
    httpsend.append(lenght);
    httpsend.append("\r\n\r\n");
 
    httpsend += buf;
 
    send(sock,httpsend.c_str(),httpsend.size(),0);
 
    memset(httprecv,0,sizeof(httprecv));
    recv(sock,httprecv,sizeof(httprecv),0);
 
    char *p = strstr(httprecv,"HTTP/1.1 302 Found");
    if(!p)
        return -1;
    return 0;
}
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
06.11.2012, 20:44 15
Но пока месть у меня залогиниться не получается, там что есть бан если что-то не так ?
Залогинился, походу в это время просто серв лежал.

А ты что winsoks используешь ?

Я просто Builder использую...
0
2 / 2 / 0
Регистрация: 01.11.2012
Сообщений: 37
06.11.2012, 20:57  [ТС] 16
Да какая разница? Дело то не в winsock...
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
07.11.2012, 19:30 17
Шас пробую ... может скажу...

Добавлено через 22 часа 26 минут
Блин что -то вообще не врубаюсь че за дела...

Поначалу получилось осуществить вход, и даже перейти на страницу с каптчей, при последующих же попытках сервер походу стал обрубать на этапе входа ... и на протяжении какого-то времени после этой попытки даже не получается получить главную страницу получаю ошибку сокета #10060.

Походу есть бан по IP, так как с браузера после тоже не могу зайти.

При входе разве не надо передавать preseted, x, y и почему у вас

Referer: http://www.heroeswm.ru/index.php
там вроде http://www.heroeswm.ru ???

P.S. Использую Indy
0
2 / 2 / 0
Регистрация: 01.11.2012
Сообщений: 37
07.11.2012, 20:06  [ТС] 18
Цитата Сообщение от Avazart Посмотреть сообщение
При входе разве не надо передавать preseted, x, y и почему у вас
Referer: http://www.heroeswm.ru/index.php
там вроде http://www.heroeswm.ru ???
index.php это главная страница, она имеется у любого сайта) Да и браузер тоже самое шлет))

А ты все куки шлешь? Просто у меня все нормально работает...
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
07.11.2012, 20:14 19
Ну как бы снифир показывает FireFox шлет Referer: http://www.heroeswm.ru/

А ты все куки шлешь?
Куки не проверял...
Компонет IdCookieManager должен их слать... но возможно что бочинит.

Но проверить не могу ... походу забанили не могу даже браузером зайти сейчас.

Просто у меня все нормально работает...
Очень странно... по тому как всетаки первый раз получилось войти а щас нет..
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
14.11.2012, 06:23 20
Причину "обрубания" я так и не нашел...
Но вообще удалось авторизироваться..

Так вот, вернемся к "хитрому" GET запросу
Код
GET /object-info.php

? id=       5       -id объекта тобиш страницы игрового объекта
& code=     92msd6  -капчатекст
& code_id=  d184... -id капчи
& pl_id=    4023746 
& rand1=    0.24850
& rand2=    210.88028
Допустим я ссылку на изображение каптчи выпарсил она имеет вид

Код
work_codes/15658-68/3429067--375793.jpeg
Как вы находите id каптчи ?

И что означают три последних параметра ? вы их тоже передаете ?
0
14.11.2012, 06:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.11.2012, 06:23
Помогаю со студенческими работами здесь

Отправка get запроса cURL
Необходимо оптравить get запрос и получить JSON #include <stdio.h> #include <stdlib.h> ...

Отправка POST запроса
Помогите начинающему, конечно ноги наперёд забрасываю... получил основы С++ начал API вкуривать....

Отправка POST-запроса
Приветствую всех, товарищи! Знакомый, зная что я учу С++ попросил сделать следующее: можешь...

Посыл http запроса get при наличии сертификата самоподписанного ssl
Написал прогу с помощью WinInet и запросы GET для самоподписанных страниц не работают. Для...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru