在处理HTTP与HTTPS的时候,遇到获取取当前网址的协议+域名+参数等情况,项目是Django项目,因此在取request中的属性值时遇到一些问题,有些取值方式需要遵循Django的取值语法。
window.location 对象用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面。
常用到的有:
location.hostname: 返回 web 主机的域名;
location.pathname: 返回当前页面的路径和文件名;
location.port: 返回 web 主机的端口 (80 或 443);
location.protocol: 返回所使用的 web 协议(http:// 或 https://);
location.href: 返回当前页面的 URL;
location.pathname: 返回 URL 的路径名;
location.assign():加载新的文档。
JS获取协议
if("https:" == document.location.protocol)
alert("HTTPS");
Java获取协议
if("http".equals(request.getScheme()))
System.out.println("HTTP");
if("https".equals(request.getScheme()))
System.out.println("HTTPS");
Python获取协议
request.scheme
HttpRequest.scheme
获取请求协议(http或https 通常)的字符串。
HttpRequest.path
表示请求页面的完整路径。
HttpRequest.encoding
用于解码字符串。
HttpRequest.META
获取所有可用HTTP标头的字典。
HttpRequest.get_host()
例: “127.0.0.1:8000”
HttpRequest.get_full_path()
返回路径,加上一个附加的查询字符串。
例:”/music/bands/the_beatles/?print=true”
注:以上是常用到的属性获取方法,其余方法见Django官方文档:https://docs.djangoproject.com/en/1.11/ref/request-response/