我有一个表单,提交后需要使用新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