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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.01.2014, 13:25   #1
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию Авторизация на сайте idhttp

Всем привет, учусь авторизоваться на сайте через idhttp и решил авторизоваться на однок. и наткнулся на одну проблему, выдает ошибку такую

Эта ошибка выходит если я ввел не правильный логин или пароль а вот если я вывожу НЕ Правильный логин или пароль то у меня выводит сообщения что ввел не правильно что то..
В чем проблема?
вот код

Код:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, sEdit, sButton, sMemo,
  IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP,
  IdIOHandler, IdIOHandlerSocket, IdIOHandlerStack, IdSSL, IdSSLOpenSSL;

type
  TForm1 = class(TForm)
    sMemo1: TsMemo;
    sButton1: TsButton;
    sEdit1: TsEdit;
    sEdit2: TsEdit;
    IdHTTP1: TIdHTTP;
    IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL;
    procedure sButton1Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.sButton1Click(Sender: TObject);
var
pagedata:string;
HTTP: TIdhttp;
Data: Tstringlist;

 begin
 HTTP := TIdhttp.Create(nil);
 HTTP.AllowCookies:=true;
 HTTP.HandleRedirects:=true;
 Data:=Tstringlist.Create;
 Data.Add('fr.posted=set');
 Data.Add('fr.needCaptcha=');
 Data.Add('fr.login='+sedit1.text);
 Data.Add('fr.password='+sedit2.text);
 Data.Add('button_login=Войти');
 Pagedata:=idhttp1.post('https://m.odnoklassniki.ru/dk?bk=GuestMain&st.cmd=main&_prevCmd=main&tkn=3996',Data);
 if Pos('logoff', pagedata)<>0 then Showmessage('GooD') else ShowMessage('Bad')
 end;

end.
Кстати не смотря на эту ошибку я могу спарсить исходный код
99% ошибок компьютера сидит в полуметре от монитора.

Последний раз редактировалось Fahman; 09.01.2014 в 14:04.
Fahman вне форума Ответить с цитированием
Старый 09.01.2014, 14:47   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Некоторые клиенты некорректно обрабатывают код 302 состояния HTTP 1.1.
Скорее всего причина в издержках idhttp.
В помощь Список кодов состояния HTTP
Попробуйте реализовать авторизацию другим способом, без использования idhttp.
Streletz вне форума Ответить с цитированием
Старый 09.01.2014, 15:03   #3
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию

Цитата:
Сообщение от Streletz Посмотреть сообщение
Некоторые клиенты некорректно обрабатывают код 302 состояния HTTP 1.1.
Скорее всего причина в издержках idhttp.
В помощь Список кодов состояния HTTP
Попробуйте реализовать авторизацию другим способом, без использования idhttp.
К сожалению я только начал учится авторизоваться на сайтах, и хотел бы сделать простую брадилку=) чтоб всем в гости заходила... тут то и наткнулся на эту проблему...
есть еще одна я спарсил ссылки в Listbox и там ссылки такие
href="/dk?st.cmd=friendMain&st.friendId=45 2320839302&_prevCmd=usersOnline&tkn =5085"
теперь надо как то перейти по этой ссылке...
99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума Ответить с цитированием
Старый 09.01.2014, 15:13   #4
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Сообщение от Fahman Посмотреть сообщение
К сожалению я только начал учится авторизоваться на сайтах, и хотел бы сделать простую брадилку=) чтоб всем в гости заходила... тут то и наткнулся на эту проблему...
есть еще одна я спарсил ссылки в Listbox и там ссылки такие
href="/dk?st.cmd=friendMain&st.friendId=45 2320839302&_prevCmd=usersOnline&tkn =5085"
теперь надо как то перейти по этой ссылке...
Перейти можно вставив перед текстом из href правильный адрес сайта.
Streletz вне форума Ответить с цитированием
Старый 09.01.2014, 15:50   #5
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию

Цитата:
Сообщение от Streletz Посмотреть сообщение
Перейти можно вставив перед текстом из href правильный адрес сайта.
Да, сейчас буду разбираться вроде с авторизацией разобрался....
99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума Ответить с цитированием
Старый 09.01.2014, 16:33   #6
doktor255
Заблокирован
 
Регистрация: 31.03.2011
Сообщений: 976
По умолчанию

Исключение при отключённом HandleRedirects, хотя в коде видно, что параметр включается. Как-то странно. 100% поможет try except.

Последний раз редактировалось doktor255; 09.01.2014 в 16:39.
doktor255 вне форума Ответить с цитированием
Старый 09.01.2014, 19:01   #7
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию

Цитата:
Сообщение от doktor255 Посмотреть сообщение
Исключение при отключённом HandleRedirects, хотя в коде видно, что параметр включается. Как-то странно. 100% поможет try except.
Спасибо работает, 1 вопрос. После авторизации не могу я зайти на страницу "Сейчас онлайн" и спарсить почему? я же авторизовался!
В моем случае надо сделать так...
Зайти на сайт (под моим логин и пасс ) потом зайти на страничку кто онлайн и всем кто онлайн зайти в гости))) Все это хотел делать через запросы, можно же сделать это через webbrowser Но это долго будет мне казалось что через запросы куда проще и быстрее но застрял на авторизации... Точнее все нормально проходит авторизация без проблем....
99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума Ответить с цитированием
Старый 09.01.2014, 19:04   #8
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

во фриланс
eval вне форума Ответить с цитированием
Старый 09.01.2014, 20:01   #9
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
во фриланс
1) Сам
2) Хочу сам
3) Знаю о фрилансе, интересовался.
4) Для личного пользования программа...
99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума Ответить с цитированием
Старый 09.01.2014, 20:07   #10
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

хотеть, как грицца, не вредно
eval вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
idHTTP + авторизация на Торренте?! Kudryavtsev Работа с сетью в Delphi 6 14.05.2011 23:13
Вопрос: Авторизация IdHTTP и WebBrowser mental Работа с сетью в Delphi 3 14.02.2011 01:20
Авторизация на прокси через IdHTTP SLASH_CyberPunk Работа с сетью в Delphi 1 26.12.2010 22:46
IdHTTP и авторизация celovec Работа с сетью в Delphi 4 06.12.2010 21:33
Авторизация через Idhttp xakkkkker Работа с сетью в Delphi 1 08.02.2009 17:10