当前位置: 首页 > 面试题库 >

从URL获取协议+主机名

赖杰
2023-03-14
问题内容

在我的Django应用中,我需要从引荐来源网址中获取主机名request.META.get('HTTP_REFERER')及其协议,以便从类似以下网址的网址中获取:

https://docs.google.com/spreadsheet/ccc?key=blah-blah-blah-blah#gid=1
https://stackoverflow.com/questions/1234567/blah-blah-blah-blah
http://www.example.com
https://www.other-domain.com/whatever/blah/blah/?v1=0&v2=blah+blah …

我应该得到:

https://docs.google.com/
https://stackoverflow.com/
http://www.example.com
https://www.other-domain.com/

我查看了其他相关问题,并找到了有关urlparse的信息,但这并没有解决问题,因为

>>> urlparse(request.META.get('HTTP_REFERER')).hostname
'docs.google.com'

问题答案:

你应该能够做到urlparse(docs:python2,python3):

from urllib.parse import urlparse
# from urlparse import urlparse  # Python 2
parsed_uri = urlparse('http://stackoverflow.com/questions/1234567/blah-blah-blah-blah' )
result = '{uri.scheme}://{uri.netloc}/'.format(uri=parsed_uri)
print(result)

# gives
'http://stackoverflow.com/'


 类似资料:
  • 问题内容: 我需要从给定的URL中提取完整的协议,域和端口。例如: 问题答案: 首先获取当前地址 然后只需解析该字符串 您的网址是: 希望这可以帮助

  • 本文向大家介绍php中获取主机名、协议及IP地址的方法,包括了php中获取主机名、协议及IP地址的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php中获取主机名、协议及IP地址的方法。分享给大家供大家参考。 具体实现代码如下: 希望本文所述对大家的php程序设计有所帮助。

  • 问题内容: 我写了一个小函数来建立当前站点的URL协议,但是我没有SSL,也不知道如何测试它是否可以在https下工作。 你能告诉我这是否正确吗? 是否有必要像上面那样做?还是我可以像上面那样做?: 在SSL下,即使定位标记网址使用的是http,服务器也不会自动将网址转换为https吗?是否需要检查协议? 谢谢! 问题答案: 这不是自动的。您的最高职能看起来还不错。

  • 获取httpurl失败,原因是:org.apache.nutch.protocol.protocolnotfound:在org.apache.nutch.protocol.protocolfactory.getProtocol(protocolfactory.java:85)在org.apache.nutch.fetcher.fetcherthread.run(fetcherthread.java

  • 我正在使用Terraform helm\u release资源在我的K8s集群中安装bitnami/redis实例。 代码如下所示: 它成功地完成了,在一个单独的目录中,我有我的应用程序terraform配置。在app配置中,我想从上面的helm\u版本获取redis主机。 我是这样做的: 然后在资源中,我将数据传递给我的部署: 但不幸的是,当我运行应用程序部署时,我会得到以下日志: [iored

  • 问题内容: 我需要浏览大量的字符串URL,并从中提取域名。 例如: **http://www.codingdict.com/questions 将提取 **www.codingdict.com 我最初使用的是URL对象初始化,但是却为该过程增加了很多时间,而且似乎是不必要的。 有没有一种更快的方法来提取可靠的主机名? 谢谢 编辑: 我的错,是的www。将包含在上面的域名示例中。此外,这些网址可能是