Delphi 2010 - 生成http请求并重定向到Web浏览器

时间:2012-09-07 05:18:42

标签: delphi web

我需要在Delphi 2010中执行此操作。我不使用.net

此代码使用Java:

HttpClient client = new HttpClient();
GetMethod method = new GetMethod();
method = new GetMethod("https://www.xxxxx.xx/portal/ILlogin?username=XXXXXX&password=XXXXXXXX&skin=yyyyyyyyyy&portal=GG");
method.setFollowRedirects(false);
int rc = client.executeMethod(method);
Header locationHeader = method.getResponseHeader("location");
if(locationHeader != null) {
  tokenURL = locationHeader.getValue();
}

这是一个http请求,可以生成重定向到webreader。

如何在Delphi 2010中对此进行编码。

1 个答案:

答案 0 :(得分:3)

Delphi预装了Indy。您可以使用Indy的TIdHTTP组件,例如:

client := TIdHTTP.Create(nil);
try
  client.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(client);
  TIdSSLIOHandlerSocketOpenSSL(client.IOHandler).SSLOptions.Method := sslvSSLv23;

  client.HandleRedirects := False; 
  client.Get('https://www.xxxxx.xx/portal/ILlogin?username=XXXXXX&password=XXXXXXXX&skin=yyyyyyyyyy&portal=GG', [300, 301, 302, 303, 305, 306, 307]);

  if client.Response.Location <> '' then
    tokenURL := client.Response.Location;
finally
  client.Free;
end;