首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Slim 3重定向POST请求

使用Slim 3重定向POST请求
EN

Stack Overflow用户
提问于 2017-03-13 18:26:48
回答 1查看 2.3K关注 0票数 0

我有一个带有Slim 3 Framework (server1)的PHP gate (Server1)和一个用于访问/编辑数据的web服务服务器(server2)。

我处理用户身份验证,并在server1中定义我的身份验证路由。server1和server2之间的对话框使用令牌。

我想使用server1向server2转发GET/POST请求。做到这一点的最好方法是什么?

在我的server1上有了Slim,我可以使用withRedirect方法,但我不能让它与POST请求一起工作:

代码语言:javascript
运行
复制
$app->post('/api/resource', function ($request, $response, $args) {
   return $response->withRedirect("http://server2/api/resource?additionla_parameter=value");
});

也许我应该使用像Guzzle或proxy这样的应用程序?

EN

Stack Overflow用户

回答已采纳

发布于 2017-03-13 18:52:42

就我个人而言,这意味着只需要在服务器端创建一个客户端来与server2通信,但实际上有一个HTTP307响应代码来实现这一目的。它声明客户端不应该在重定向期间更改方法(在您的情况下是POST)。下面是一个很好的小结:https://softwareengineering.stackexchange.com/questions/99894/why-doesnt-http-have-post-redirect/99966#99966

我刚刚看了一眼slim源代码,该方法接受了第二个状态代码参数,如果没有设置,该参数的默认值为302。参见https://github.com/slimphp/Slim/blob/3.x/Slim/Http/Response.php#L289。所以你可以试试这个:

代码语言:javascript
运行
复制
$response->withRedirect("http://postplease", 307);

那可能行得通。

票数 3
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42761334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档