[Delphi] IdHTTP로 세션아이디를 포함하여 요청하기 (SessionID)
출처: 출처 : http://bloodguy.tistory.com
세션ID는 재주껏 가져오자.
쿠키에 저장되어 있으니.
TWebBrowser에서 세션ID 가져오기 : http://bloodguy.tistory.com/entry/Delphi-TWebBrowser에서-세션아이디SessionID-가져오기
// URL에서 도메인명만 따냄
function GetHostNameFromURL(URL: String): String;
var PosSlash: Integer;
begin
Result:=Trim(URL);
Result:=MidStr(Result, Pos('://', Result)+3, Length(Result));
PosSlash:=Pos('/', Result);
if PosSlash>0 then Result:=MidStr(Result, 1, PosSlash-1);
end;
// 세션ID를 포함하여 GET 요청
function GetWithSessionID(URL, SessID: String): String;
var
HTTP: TIdHTTP;
Cookie: TIdCookieManager;
HostName: String;
begin
Result:='';
HTTP:=TIdHTTP.Create(nil);
Cookie:=TIdCookieManager.Create(nil);
try
HTTP.CookieManager:=Cookie;
Cookie.AddCookie('PHPSESSID='+SessID, GetHostNameFromURL(URL));
try
Result:=HTTP.Get(URL);
except on E:Exception do
OutputDebugString(PWideChar(E.Message));
end;
finally
FreeAndNil(Cookie);
FreeAndNil(HTTP);
end;
end;
반응형
'Delphi, RadStudio' 카테고리의 다른 글
[delphi] Tracking DLL loading, attaching, detaching and unloading (0) | 2011.12.12 |
---|---|
[개발/delphi] RLINK 32: out of memory (0) | 2011.12.12 |
[delphi] 브라우저 링크 프로토콜 정의하기 (0) | 2011.12.09 |
[delphi] Registering DLL and ActiveX controls from code (0) | 2011.11.28 |
[delphi] COM Server or ActiveX OCX 등록 및 해제 (0) | 2011.11.28 |
댓글