我的用户提交URL(指向Mixcloud上的混音)并且我的应用程序使用它们执行Web请求。
一个好的URL返回200状态码:
uri = URI.parse("http://www.mixcloud.com/ErolAlkan/hard-summer-mix/")
request = Net::HTTP.get_response(uri)(
#<Net::HTTPOK 200 OK readbody=true>
但是如果您忘记了结尾的斜杠,那么我们本来良好的网址将返回301:
uri = "http://www.mixcloud.com/ErolAlkan/hard-summer-mix"
#<Net::HTTPMovedPermanently 301 MOVED PERMANENTLY readbody=true>
对于404错误也会发生同样的事情:
# bad path returns a 404
"http://www.mixcloud.com/bad/path/"
# bad path minus trailing slash returns a 301
"http://www.mixcloud.com/bad/path"
- 如何“深入”查看301重定向并确定它是否将我们带到有效的资源或错误页面?
- 是否有一种工具可以提供关于特定域名可能应用于其URL的规则的全面概述?
r = get_response_with_redirect(URI.parse(r.header['location']))
,就可以处理多个重定向。 - ReggieB