Symfony通过cUrl在请求的URL上返回301

时间:2013-08-14 13:11:01

标签: php symfony

所以,我的项目中有REST api

我正在尝试使用cUrl向API发出请求。但Symfony返回301

路由:

CMContestBundle_api_new:
type: rest
pattern:  /{_locale}/api/contest/new/
defaults: { _controller: CMContestBundle:API:new, _locale: en }
requirements:
    _method: GET

安全

- { path: ^/(en|no|dk|se|es|it|pl)/api/contest/new, role: IS_AUTHENTICATED_ANONYMOUSLY, methods : GET }

卷曲请求

curl -v -H "Accept: application/json" -H "Content-type: application/json" -X GET  http://localhost/app_dev.php/en/api/contest/new

当我在浏览器中输入此网址时 - 一切正常。但如果这是curl请求,则返回301和html页面,该页面重定向请求的URL

为什么symfony会返回301而不是正确的响应?

1 个答案:

答案 0 :(得分:0)

正如@forgottenbas所提到的,您必须在网址末尾添加/。但您也可以将-L切换为curl,以便按照以下重定向进行操作:

curl -v -H -L "Accept: application/json" -H "Content-type: application/json" -X GET  http://localhost/app_dev.php/en/api/contest/new