Get protocol + host name from URL

In my Django app, I need to get the host name from the referrer in request.META.get('HTTP_REFERER') along with its protocol so that from URLs like:

  • 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 …

I should get:

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

I looked over other related questions and found about urlparse, but that didn’t do the trick since

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

16 Answers
16

Leave a Comment