2

我需要在 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 中对此进行编码。

4

1 回答 1

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;
于 2012-09-07T05:49:44.910 回答