使用从卷曲输出中提取的新网址刷新php页面

时间:2012-04-14 15:14:48

标签: php forms url curl

我有一个表单,在提交时需要使用新网址刷新页面。

然而,新的url需要来自curl函数的输出。

目前,我可以让卷曲功能正常运行,但不是用该网址刷新页面,而只是在网页上打印网址。

你知道如何使用该网址刷新页面吗?

提前致谢

编辑:

$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);

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

这有意义吗?

1 个答案:

答案 0 :(得分:2)

您需要使用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

中的“返回值”部分