![]() |
|
|
#1
|
||||
|
||||
|
Здравствуйте у меня такая проблема не могу сделать запрос на Https
вот код страницы Код HTML:
запрс будет сделан с помощью Post запроса "text" name="login" поле логина "password" name="password" поле пароля action='/?lang=ru вот как я пытаюсь сделать запрос Код:
procedure TForm1.Button1Click(Sender: TObject);
var
tL: TStringList;
s: String;
begin
tL := TStringList.Create;
tL.Add('text=E_103095');
tL.Add('password=мой пас');
form1.IdHTTP1.Request.Referer:='https://stat.spark-com.ru/';
try
s := IdHTTP1.Post('https://stat.spark-com.ru/?lang=ru',tL);
finally
tL.Free;
end;
memo1.Lines.Add(s);
end;мой аутпост говорит что приложение запрашивает исходящее соединение LocalHost далее моё приложение просто виснет я слышал что для Https нужны какие то Dll ки но я не знаю откуда мне их взять в гугле смотрел . Не представляю что мне делать.помогите мне пожалуйста . Последний раз редактировалось Sharky, 30.01.2009 в 21:48. |
|
#2
|
|||
|
|||
|
Да, для поддержки https (а собственно, это http + ssl) нужны библиотеки openSSL. Ищи в инете.
|
|
#3
|
||||
|
||||
|
я скачал эти библиотеки но что с ними делать я не пойму Imikle СПАСАЙ)
помогите кто нибуть аа ![]() говорит что IoHendler value is not valid Последний раз редактировалось Sharky, 30.01.2009 в 21:50. |
|
#4
|
|||
|
|||
|
Там копоненту надо поставить SSL'ный хэндлер и положить радом с exe эти библиотечки. Если будет возможность потом напишу подробнее.
|
|
#5
|
||||
|
||||
|
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdIntercept, IdTCPConnection, IdTCPClient, IdHTTP,
IdBaseComponent, IdComponent, IdIOHandler, IdIOHandlerSocket,
IdSSLOpenSSL, StdCtrls;
type
TForm1 = class(TForm)
IdSSLIOHandlerSocket1: TIdSSLIOHandlerSocket;
IdHTTP1: TIdHTTP;
IdConnectionIntercept1: TIdConnectionIntercept;
Button1: TButton;
Memo1: TMemo;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
form1.IdConnectionIntercept1:=form1.IdHTTP1.Intercept;
form1.IdHTTP1.Port:=443;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
tL: TStringList;
s: String;
begin
tL := TStringList.Create;
tL.Add('text=Акаунт');
tL.Add('password=маой пас');
form1.IdHTTP1.Request.Referer:='https://stat.spark-com.ru/';
try
s := IdHTTP1.Post('https://stat.spark-com.ru/?lang=ru',tL);
finally
tL.Free;
end;
memo1.Lines.Add(s);
end;
end.скачал и поставил Indy 9 и все равно не пашет выскакивает ошибка на отладчике . отладчик ругается на строку : Код:
s := IdHTTP1.Post('https://stat.spark-com.ru/?lang=ru',tL);в нете подобных вопросов много а ответа четкого нету ((( |
|
#6
|
||||
|
||||
|
так у меня все получилось . Ура.
Если кому интересно на счет этой темы пишите. |
|
#7
|
|||
|
|||
|
Пишу. Мне интересно. Каким образом все же получилось? Код можно?
|