interface
uses
- Windows, SysUtils, WinInet;
+ Windows, SysUtils, WinInet, YofUtils;
type
TDolibSession = class(TObject)
Buf: array[0..4096] of Char;
UserInfo: string;
UserAgent: string;
+ Header: string;
cb: DWORD;
Delim: Integer;
begin
if not Assigned(hRequest) then
MakeError(FSession, GetLastError())
else begin
- UserInfo := Format('ID=%s&PW=%s', [ID, Pass]);
+ UserInfo := Format('ID=%s&PW=%s', [HttpEncode(ID), HttpEncode(Pass)]);
+ Header := 'Content-Type: application/x-www-form-urlencoded'#13#10;
UserAgent := Format('%s %s', [DOLIB_2CH_UA, ClientUA]) + #13#10;
- if not HttpSendRequest(hRequest, PChar(UserAgent), DWORD(-1), PChar(UserInfo), Length(UserInfo)) then
+ Header := Header + UserAgent;
+ if not HttpSendRequest(hRequest, PChar(Header), DWORD(-1), PChar(UserInfo), Length(UserInfo)) then
MakeError(FSession, GetLastError())
else begin
if not InternetReadFile(hRequest, @Buf, SizeOf(Buf), cb) then