用curl检查301 http响应

时间:2016-10-07 07:12:12

标签: php symfony http curl

我正在迁移一个网站。我需要将600多个旧网址迁移到新类型的网址 使用symfony路由和301永久重定向。

我的一个网址示例:

redirect_test-url:
    path: /test-url
    defaults:
        _controller: FrameworkBundle:Redirect:urlRedirect
        path: /category/test-url
        permanent: true 

重定向似乎有效。但我需要确保所有旧网址都重定向301重定向。 我想我可以用php和curl做一个脚本来检查所有的url。但我不知道怎么能得到卷曲的结果。

这是我的卷曲请求:

curl https://local.dev -k 

但我的终端jut发回给我html。

如何获取http状态代码响应以将其存储在数据库中?

2 个答案:

答案 0 :(得分:2)

您可以使用-D选项转储响应的标头:

curl -s -D - http://www.martar.fr -o /dev/null

响应:

HTTP/1.1 301 Moved Permanently
Date: Fri, 07 Oct 2016 07:50:51 GMT
Server: Apache/2.4.10 (Debian)
Location: https://www.martar.fr/
Content-Length: 309
Content-Type: text/html; charset=iso-8859-1

-s用于无声模式(不输出任何内容)

答案 1 :(得分:0)

我想也许你想要类似的东西:

curl -sI https://example.com -w '%{response_code}:%{redirect_url}\n' -o /dev/null

作为奖励,这可以获得重定向代码和重定向目标(如果有)。