delphi post获取跳转网址
时间: 2023-09-06 15:14:41 浏览: 213
您可以使用TIdHTTP组件来发送POST请求,并在返回的响应头中查找跳转网址。以下是一个示例代码:
```delphi
uses
IdHTTP, IdURI;
function GetRedirectURL(const URL: string): string;
var
IdHTTP: TIdHTTP;
Response: TStringList;
begin
IdHTTP := TIdHTTP.Create(nil);
Response := TStringList.Create;
try
IdHTTP.HandleRedirects := False; // 禁止自动重定向
IdHTTP.Post(URL, nil, Response); // 发送POST请求
// 查找跳转网址
if IdHTTP.ResponseCode = 302 then
Result := TIdURI.URLDecode(IdHTTP.Response.RawHeaders.Values['Location'])
else
Result := '';
finally
Response.Free;
IdHTTP.Free;
end;
end;
```
您可以将待发送的POST数据作为第二个参数传递给`Post`方法,例如`IdHTTP.Post(URL, PostData, Response)`。`URL`是目标网址,`PostData`是POST数据(可以是字符串或TStringList)。
请注意,上述代码仅处理了302重定向,如果需要处理其他类型的重定向,请根据具体情况进行修改。另外,您需要在使用前将Indy组件库添加到您的Delphi项目中。
希望对您有帮助!如有任何问题,请随时提问。
阅读全文