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

Delphi 2010-生成http请求并重定向到web浏览器,delphi,web,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"

我需要在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中编写此代码。

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;
client:=TIdHTTP.Create(nil);
尝试
client.IOHandler:=TIdSSLIOHandlerSocketOpenSSL.Create(客户端);
TIdSSLIOHandlerSocketOpenSSL(client.IOHandler).SSLOptions.Method:=sslv23;
client.HandleRedirects:=False;
客户机。获取('https://www.xxxxx.xx/portal/ILlogin?username=XXXXXX&password=XXXXXXXX&skin=yyyyyyyyyy&portal=GG', [300, 301, 302, 303, 305, 306, 307]);
如果client.Response.Location为“”,则
tokenURL:=client.Response.Location;
最后
客户。免费;
结束;