使用从 curl 输出中提取的新 URL 刷新 PHP 页面


refreshing a php page with a new url, drawn from a curl output

我有一个表单,提交后需要使用新URL刷新页面。

但是,新的 URL 需要来自 curl 函数的输出。

目前,我可以让 curl 函数正常运行,但它不是使用该 url 刷新页面,而是在页面上打印 URL。

你知道我如何使用该 URL 刷新页面吗?

提前致谢

编辑:

$ch = curl_init();  
curl_setopt($ch, CURLOPT_URL, "http://uk.ImpulsePay.com/payforit?RouteID=5432&URL=Y"); 
curl_setopt($ch, CURLOPT_HEADER, 0);   

header( "Location: curl_exec($ch)");
curl_close($ch);

如果您访问上面的链接 - 它将显示一个页面,该页面在正文中有一个链接。我正在肯定地尝试获取页面正文中的链接,然后将页面刷新到该页面。

这有意义吗?

您需要使用 PHP header() 方法,请参阅此页面:http://php.net/manual/en/function.header.php

这是他们的例子:

header("Location: http://www.example.com/"); /* Redirect browser */

请注意以下行:

请记住,在发送任何实际输出之前必须调用 header()

如果需要在某些内容"打印"后更改标题,则需要使用输出缓冲,请参阅此页面以开始使用:http://php.net/manual/en/function.ob-start.php

更新:您的 curl_exec( $ch ) 没有执行,因为您无法执行双引号内的功能,您只能插入变量。

以下是您要执行的操作:

$httpResponse = curl_exec( $ch );
header( "Location: $httpResponse");

假设响应只是一个 URL,这会将用户的浏览器重定向到 curl 请求返回的值。

更新:我错过了您没有回程传输设置。您需要在CURLOPT_HEADER行之后添加此行:

curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );

这将告诉curl_exec返回响应而不是布尔成功指示。

请参阅"返回值"部分:http://php.net/manual/en/function.curl-exec.php