• Что бы вступить в ряды "Принятый кодер" Вам нужно:
    Написать 10 полезных сообщений или тем и Получить 10 симпатий.
    Для того кто не хочет терять время,может пожертвовать средства для поддержки сервеса, и вступить в ряды VIP на месяц, дополнительная информация в лс.

  • Пользаватели которые будут спамить, уходят в бан без предупреждения. Спам сообщения определяется администрацией и модератором.

  • Гость, Что бы Вы хотели увидеть на нашем Форуме? Изложить свои идеи и пожелания по улучшению форума Вы можете поделиться с нами здесь. ----> Перейдите сюда
  • Все пользователи не прошедшие проверку электронной почты будут заблокированы. Все вопросы с разблокировкой обращайтесь по адресу электронной почте : info@guardianelinks.com . Не пришло сообщение о проверке или о сбросе также сообщите нам.

Пример авторизации на сайте с помощью idHTTP.Post

Lomanu4 Оффлайн

Lomanu4

Команда форума
Администратор
Сообщения
1,151
Симпатии
222
Баллы
155
VK
Сегодня расскажу, как использовать idHTTP.Post для авторизации на сайте. Я возьму для примера сайт LiveJournal.com.

Немного теории для начинающих. Итак, вызов метода Post компонента idHTTP отличается от вызова Get-а только тем, что помимо URL-а необходимо передать параметры. Параметры можно передавать в виде StringList-а, или каких-нибудь Stream-ов, или чего-нибудь еще подходящего.)
Для просмотра содержимого вам необходимо авторизоваться.
Вот что записал туда LiveJourmal.com:
 
ЛивАрт Оффлайн

ЛивАрт

Главный модератор
Принятый Кодер
Сообщения
51
Симпатии
15
Баллы
60
Решил переделать авторизацию под майл выдает

Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    sMemo1: TsMemo;
    sButton1: TsButton;
    IdHTTP1: TIdHTTP;
    IdCookieManager1: TIdCookieManager;
    sEdit1: TsEdit;
    sEdit2: TsEdit;
    procedure sButton1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.sButton1Click(Sender: TObject);
var
  Http  : TidHttp;
  CM    : TidCookieManager;
  Data  : TStringList;
  StrPage, UserID,  UserName  :  String;
  i : integer;
begin
try
    Http := TIdHTTP.Create(Self);
    Data := TStringList.Create;
    CM := TidCookieManager.Create(Http);
    Http.AllowCookies := true;
    Http.CookieManager := CM;

    Http.Request.Host:='auth.mail.ru';
    Http.Request.UserAgent:='Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10';
    Http.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
    Http.Request.AcceptLanguage:='ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3';
    Http.Request.Referer:='https://aa.mail.ru/';

    Data.Add('Page=https://aa.mail.ru/');
    Data.Add('FakeAuthPage=https://aa.mail.ru/auth');
    Data.Add('Login=' + sEdit1.Text);
    Data.Add('Domain=mail.ru');
    Data.Add('Password =' + sEdit2.Text);
    Data.Add('saveauth=1');
    StrPage := Http.Post('https://auth.mail.ru/cgi-bin/auth', Data);
  finally
    Data.Free;
    CM.Free;
    Http.Free;
  end;

  if Pos('https://e.mail.ru/cgi-bin/passremind?type=mrim', StrPage) = 0 then
    ShowMessage('Авторизация прошла успешно')
  else
    ShowMessage('Авторизация провалилась');

  sMemo1.Lines.Text := StrPage;
end;

end.
помогите пожалуйста решить
 
ЛивАрт Оффлайн

ЛивАрт

Главный модератор
Принятый Кодер
Сообщения
51
Симпатии
15
Баллы
60
Вверх Снизу