php curl - 如何获得简单的页面重定向

时间:2017-04-06 22:04:10

标签: php curl

尝试创建代理,它应该像表单提交一样重定向到特定页面。 写了以下内容:

<?php
$postdata = filter_input_array( INPUT_POST );
if( count( $postdata ) == 0 ) die();

$curl = curl_init();
$options = array(
    CURLOPT_URL => $postdata[ "processor" ], // Here is redirect URL
    CURLOPT_POST => true,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_POSTFIELDS => $postdata
);
curl_setopt_array( $curl, $options );
curl_exec( $curl );
curl_close( $curl );
?>

我在Google Chrome开发者控制台中看到回复绝对正确,但我在浏览器中没有正确看到它。 怎么了?

1 个答案:

答案 0 :(得分:0)

完成后重定向,检查CURL状态代码为200。

    $postdata = filter_input_array( INPUT_POST );
    if( count( $postdata ) == 0 ) die();

    $curl = curl_init();
    $options = array(
        CURLOPT_URL => $postdata[ "processor" ], // Here is redirect URL
        CURLOPT_POST => true,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_POSTFIELDS => $postdata
    );
    curl_setopt_array( $curl, $options );
    curl_exec( $curl );
    curl_close( $curl );
    header("Location:".$postdata[ "processor" ]);

确保不在header()之前输出/打印;您可以从卷曲细节验证CURL状态代码,然后重定向到200 了解如何使用状态代码获取卷曲细节 Link
重定向示例: Link