首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python 3中获取重定向URL

在python 3中获取重定向URL
EN

Stack Overflow用户
提问于 2016-03-26 21:09:31
回答 1查看 824关注 0票数 1

我想在重定向后得到一个页面的地址。我有以下代码

代码语言:javascript
复制
url = 'https://simple.wikipedia.org/wiki/Gcd'
print(urlopen(url).geturl())

但是它不工作,它打印https://simple.wikipedia.org/wiki/Gcd,而它应该打印除数

那么,它有什么问题呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-26 21:23:45

其实是没有问题的。打开https://simple.wikipedia.org/wiki/Gcd时得到的URL正好是那个URL。更改URL的唯一方法是重定向,如果您查看来自该URL的响应,您可以看到它只返回一个200状态代码。所以没有重定向。

但是,当您在浏览器中打开URL时,该URL确实会被更改为https://simple.wikipedia.org/wiki/Greatest_common_divisor。如果没有重定向,这种情况是如何发生的?

这实际上是一个新的MediaWiki特性,它使用历史API在浏览器中重写URL。它只是替换了浏览器中显示的URL --但实际上没有发出新请求,也没有真正的HTTP重定向。

这是一种只在启用JavaScript的现代浏览器中工作的功能。否则,您将停留在Gcd URL上,这也是MediaWiki较早版本的行为。

您可以在MediaWiki中了解有关这个新的Phabricator任务T37045特性的更多信息。

至于您的“问题”,您应该考虑使用MediaWiki与MediaWiki API进行通信,这也会告诉您页面何时是重定向。

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

https://stackoverflow.com/questions/36240926

复制
相关文章

相似问题

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