OSDN Git Service

This commit was manufactured by cvs2svn to create tag 'v1_62_0_809'.
[gikonavigoeson/gikonavi.git] / Dolib.pas
index e5fbc65..a4ac2f3 100644 (file)
--- a/Dolib.pas
+++ b/Dolib.pas
@@ -33,7 +33,7 @@ unit Dolib;
 interface
 
 uses
-       Windows, SysUtils, WinInet;
+       Windows, SysUtils, WinInet, YofUtils;
 
 type
        TDolibSession = class(TObject)
@@ -227,6 +227,7 @@ var
        Buf: array[0..4096] of Char;
        UserInfo: string;
        UserAgent: string;
+    Header: string;
        cb: DWORD;
        Delim: Integer;
 begin
@@ -255,9 +256,11 @@ 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