Доброго времени суток.
Возникла проблема с прохождением авторизации на сайте ekinobilet.ru для загрузки\получения данных.
Использую synapse HTTPSend. Подключение делаю следующим образом:
uses ....., HTTPSend, ssl_openssl;
....
procedure TForm1.Button1Click(Sender: TObject);
Const
CRLF = #13#10;
URL='https://ekinobilet.ru/ekbs/upload.aspx';
var
HTTP: THTTPSend;
TS:TStringStream;
begin
try
HTTP := THTTPSend.Create;
TS:= TStringStream.Create;
HTTP.Protocol:='1.1';
HTTP.UserAgent:='Synapse';
HTTP.TargetHost:= 'ekinobilet.ru';
HTTP.KeepAlive:= true;
HTTP.MimeType := 'multipart/form-data, boundary='+edBoundary.Text;
TS.WriteString('----'+edBoundary.Text + CRLF);
TS.WriteString('Content-Disposition: form-data; name=\"login\"; '+ CRLF);
TS.WriteString(CRLF);
TS.WriteString(Edit1.Text + CRLF);
TS.WriteString('----'+edBoundary.Text + CRLF);
TS.WriteString('Content-Disposition: form-data; name=\"passwd\"; '+ CRLF);
TS.WriteString(CRLF);
TS.WriteString(Edit2.Text + CRLF);
TS.WriteString('----'+edBoundary.Text + CRLF);
TS.WriteString('Content-Disposition: form-data; name=\"get\" '+ CRLF);
TS.WriteString(CRLF);
TS.WriteString('list'+ CRLF);
TS.WriteString('----'+edBoundary.Text+'--' + CRLF);
HTTP.Document.LoadFromStream(TS);
if HTTP.HTTPMethod('POST', URL) then begin
Memo1.Lines.AddStrings(HTTP.Headers);
Memo1.Lines.LoadFromStream(HTTP.Document);
end;
Memo2.Lines.Add(inttostr(HTTP.ResultCode));
Memo2.Lines.Add(HTTP.ResultString);
finally
TS.Free;
HTTP.Free;
end;
Результатом при правильном логин\пароле должен прийти ответ
в виде
<?xml version="1.0" encoding="utf-8"?>
<list count="0" size="0">
</list>
Подскажите, что я не так делаю.
Заранее благодарен.