![]() |
|
#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
|
|||
|
|||
![]() Пишу. Мне интересно. Каким образом все же получилось? Код можно?
Не забывайте делать резервные копии |