PUT / DELETE标头重定向

时间:2012-08-07 16:26:32

标签: php api rest

我正在尝试在PHP中执行标题重定向,例如:

header("Location: http://www.domain.com/some/url");
exit;

这在制作GET和POST请求时工作正常,但它似乎不适用于PUT和DELETE请求。

我尝试过:

header("Location: DELETE/PUT http://www.domain.com/some/url");
exit;

但这似乎不起作用,也直接调用url工作正常。我可以在标题调用之前和之后回显一些文本,所以一切正常,似乎只是忽略PUT和DELETE请求?

2 个答案:

答案 0 :(得分:0)

使用Location不是设置HTTP方法标头的正确方法。

尝试以下方法:

header("Request-Type: DELETE");
header("Location: http://www.domain.com/some/url");
exit;

但是,我不确定您是否可以单独使用header()设置请求类型。我知道你可以用cURL。

答案 1 :(得分:0)

Similar question,可能同样的答案适用于您

  

header函数用于将HTTP响应头发送回   用户(即您无法使用它来创建请求标头。

     

我可以问你为什么要这样做?为什么要在你模拟POST请求时   可以就在那里然后对数据采取行动吗?我在假设   当然script.php驻留在你的服务器上。

     

要创建POST请求,请使用打开与主机的TCP连接   fsockopen(),然后在从返回的处理程序上使用fwrite()   fsockopen()具有您在头函数中使用的相同值   OP。或者,您可以使用cURL。

PS:我看到它也显示在Linked标签下:)