Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.11.2012, 11:57   #1
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию Отправка сообщения m.odnoklassniki.ru

Всем hello!)
Занялся я тут synaps'ом..
Написал авторизация на одноклассниках, но вот ни задача не могу отправить сообщение..да и вообще любой пост запрос...уже и refer подставлял..без толку..Может это из использования gzip?Хотя нет через браузер отправляется да и даже уберал когда все равно не отправляет..
Авторизация:
Код:
var stream: TStringStream;
...
stream:=TStringStream.Create('');
stream.WriteString('fr.posted=set&fr.needCaptcha=&fr.login='+EncodeURLElement('login')+'&fr.password='+EncodeURLElement('pass')+'&fr.remember=on&button_login=%D0%92%D0%BE%D0%B9%D1%82%D0%B8');
http.MimeType:='application/x-www-form-urlencoded';
http.UserAgent :='Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.7.62 Version/11.01';
http.Headers.Add('Accept-Encoding: gzip,deflate');
http.Protocol:='1.1';
http.Document.LoadFromStream(stream);
if (http.HTTPMethod('post','http://m.odnoklassniki.ru/dk?bk=GuestMain&st.cmd=main' )) and(http.ResultCode=302) then
//авторизовались!
...
И как быть...?)
Кольша вне форума Ответить с цитированием
Старый 07.11.2012, 23:43   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

в Synautil есть метод WriteStrToStream, там готовите POST данные и пишите их этим методом в THHTSend.Document

Ваш вариант правильный, но он не есть годный для синапсов.
Человек_Борща вне форума Ответить с цитированием
Старый 08.11.2012, 10:05   #3
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Попробую...как попробую отпишу...И как все таки с gzip? он не влияет на запрос?
Кольша вне форума Ответить с цитированием
Старый 08.11.2012, 12:30   #4
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Нет всеравно не отправляет..
Кольша вне форума Ответить с цитированием
Старый 08.11.2012, 15:28   #5
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
Попробую...как попробую отпишу...И как все таки с gzip? он не влияет на запрос?
Советую почитать, по больше, про значения переменных HTTP заголовка.
Я вот так делаю авторизацию, но на др. сайте.. Кусок из рабочего проекта:

Код:
      bIsFirst := True;
      if (not fLogined) and fDoLogin and fLogouted then
      begin
        // Авторизация
        fHTTP.Clear;
        fHTTP.Cookies.Clear;
        sAuth := Format(cAuthReq, [fLogin, fPassword]);
        WriteStrToStream(fHTTP.Document, sAuth);
        fHTTP.KeepAlive := True;
        fHTTP.Headers.Add('Accept-Encoding: gzip, deflate');
        SetLogin(lrLogging);

        if fHTTP.HTTPMethod('POST', cAuthPage) and (fHTTP.ResultCode = 302) then
        begin
Покажите, как вы делаете?

Последний раз редактировалось Человек_Борща; 08.11.2012 в 15:40.
Человек_Борща вне форума Ответить с цитированием
Старый 08.11.2012, 15:54   #6
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Интересный метод..но когда я делаю серьезный..хоть чуть чуть серьезный проект..я создаю класс типа TEngine{vk например} делаю в нем обычную процедуру auth(l,p:string):boolean;
и все
Дело не в том авторизация проходит норм отправка не происходит..даже статус немогу поставить...ничего..даже пробовал парсить все значения из формы и все равно 0
Кольша вне форума Ответить с цитированием
Старый 25.11.2012, 14:55   #7
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Проблема решена хоть и столько времени прошло..
Суть надо перед каждым постом добавлять
Код:
http.MimeType:='application/x-www-form-urlencoded';
Кольша вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка сообщения на e-mail?! Npwas Помощь студентам 2 13.06.2012 18:40
Отправка сообщения в odnoklassniki fucil Общие вопросы Delphi 8 11.10.2011 20:56
Indy отправка сообщения Andrey85 Работа с сетью в Delphi 1 08.11.2010 11:47
Отправка сообщения на мыло Дима1234 HTML и CSS 5 23.01.2009 23:46