curl命令自动跳转follow HTTP redirects

      访问: 7,774 次      2 条评论    

curl是一种命令行工具,作用是发出网络请求,然后得到和提取数据,显示在"标准输出"(stdout)上面。我们知道wget 会自动跳转(follow 301/302 Location),使用curl 命令时利用-L 参数,也可以实现自动跳转到新的网址。如:

$ curl -v -L http://3g.sina.cn (利用-v参数查看类似debug的调试输出)

再介绍一个可以与-L/--location 参数结合使用的-b/--cookie 参数(自动在请求中夹带Cookie):

$ curl -s -o /dev/null -v -b a -L http://3g.sina.cn

同时-L 还可以结合-w/--write-out 参数,利用变量 url_effective 得到跳转后的最终URL:

$ curl -s -o /dev/null -L -w '%{url_effective}n' http://3g.sina.com.cn

参数说明(详细请 man curl ):

  • -b/--cookie <name=data> 意思是在请求中发送Cookie Header,即 Cookie: name=data 。不使用“=”,则视为从文件中读取Cookie内容;使用这个方法,也可以使curl 启用 "cookie parser" 模式,即让curl自动记录服务器返回的cookie内容,与-L/--location 选项结合使用时更加有用。
  • -L/--location 让curl follow Location: header and a 3XX response code 实现自动跳转。
  • -w/--write-out <format> 利用变量 url_effective 得到-L 跳转的最终URL(The URL that was fetched last)。

已有 2 条评论

  1. Lee Lee

    测试验证码from uc

    1. test test

      测试验证码 for新主题

添加新评论