是否可以使用POST请求而不是GET请求重定向到URL?

时间:2011-08-04 13:52:41

标签: php httpwebrequest httprequest http-post get-request

  

可能重复:
  Redirect with POST data

脚本是否可以在PHP中重定向到带有POST请求的URL?

我目前使用的代码使用javascript在页面正文加载时提交表单。如果可能的话,我想避免这种情况并使用更强大的解决方案。

目前的代码如下:

<?php
// Change this secret key so it matches the one in the imagemanager/filemanager config
$secretKey = "someSecretKey";

// Check here if the user is logged in or not

if (!isset($_SESSION["some_session"]))
    die("You are not logged in.");


// Override any config values here
$config = array();
//$config['filesystem.path'] = 'c:/Inetpub/wwwroot/somepath';
//$config['filesystem.rootpath'] = 'c:/Inetpub/wwwroot/somepath';
// Generates a unique key of the config values with the secret key
$key = md5(implode('', array_values($config)) . $secretKey);
?>

<html>
    <body onload="document.forms[0].submit();">
        <form method="post" action="<?php echo htmlentities($_GET['return_url']); ?>">
            <input type="hidden" name="key" value="<?php echo htmlentities($key); ?>" />
            <?php
            foreach($config as $key => $value) {
                echo '<input type="hidden" name="' . 
                          htmlentities(str_replace('.', '__', $key)) . '" 
                          value="' . htmlentities($value) . '" />';
            }
            ?>
        </form>
    </body>
</html>

这是MCImageManagerMCFileManager文件包中的示例。

由于在HTML中使用了相对文件路径,因此在此实例中回应 curl请求的响应 ,我无法轻易更改。

1 个答案:

答案 0 :(得分:1)

不,这是不可能的。

您必须使用Javascript提交表单或进行AJAX POST。