Firefox:修改navigator.platform的值

这是啥

目前有很多网站通过判断navigator.platform的值来处理用户使用的是电脑还是手机,判断JS代码如下(当然你也可以使用这样的方式判断,只是不一定有用):

遇到一个网站使用了navigator.platform+user agent的方式来判断用户是否使用电脑或者手机,有时候我们又想在电脑上使用这个网站(比如很多小一点的视频网站,只能手机看,也许是手机可以关注微信把)。

那么如何破解呢,往下看。

firefox标志

破解方法

大概几步:

  1. 在Firefox上,地址栏里面输入about:config
  2. 搜索框里面输入:general.platform.override ,如果有就修改值为: Android ,没有往下看
  3. 在空白处,右键->新建->字符串
  4. 输入值为: general.platform.override ,输入: Android
  5. 保存即可.刷新页面.

上面的步骤之后,可以按f12在控制台输入 navigator.platform 看下输出的字符是否是刚才修改的.

修改 navigator.platform 有一个限制(参考官方):

在普通网页中,如果about:config中存在general.platform.override项,则该属性的值会返回about:config中general.platform.override项的值. 在特权代码中 (chrome上下文或者拥有”UniversalBrowserRead”特权的网页中),返回的还是真实的平台类型.(译者注:语句:netscape.security.PrivilegeManager.enablePrivilege(“UniversalBrowserRead “)用来激活所在网页的UniversalBrowserRead特权.)

如果还是不行,就需要借助User-Agent Switcher这个Firefox扩展了.安装这个扩展,然后选择移动端的User-Agent就可以了.

我就是通过修改general.platform.override和User-Agent Switcher来解决访问某个网站被跳转的问题.

P:

修改navigator.platform的方式参考: 地址

Java 9:代码语法更新

更新

2017.10的某天,Oracle发布了Java 9 ,Java 9的语言只更新了一小部分(jshell 除外),下面是一些简单的解读.Oracle的原文地址在这:访问原文

java标志

更新的部分

代码务必在Java 9环境中尝试,不然会编译报错.

一共更新了大概5个部分的语法更新,记录如下.

try自动关闭资源优化

实现了AutoCloseable或者Closeable接口的类,可以用try实现自动关闭资源,在JDK中的FileReader,FileInputStream,FileOutputStream等这些类都是可以自动关闭的.

来个官方的例子:

然后按照这个,我自己简单写了一个版本:

简化了一些代码.

@SafeVarargs注解

@SafeVarargs注释只能应用于不能被覆盖的方法。 这些包括静态方法,最终实例方法,以及Java SE 9中的新增私有实例方法。

您可以将钻石语法与匿名内部类一起使用

可以在Java程序中编写的类型(如int或String)称为可指定类型。 无法用Java程序编写的编译器内部类型称为不可指定类型。

由于钻石操作员使用的推断,可能会出现不可指定的类型。 因为使用菱形和匿名类构造函数的推断类型可能不在类文件中签名属性所支持的类型集之外,所以在Java SE 7中不允许使用具有匿名类的菱形。

在Java SE 9中,只要推断的类型是可指定的,就可以在创建匿名内部类时使用菱形运算符。

不能单独使用下划线

在Java 9中,不能单独使用下划线,因为以后可能给下划线(_)特殊含义,所以在Java 9中定义如下变量会无法编译(在Java 8中使用无影响).

私有接口方法可用

在Java 9中,官方说明是可以使用私有接口方法,但我发现,公有方法也可以用(但必须是public static修饰才可以).

参考如下:

大概就这些.

Python:发送邮件

发送邮件

之前用Java写过一个发送邮件的,这回来一个Python版本的,参照了廖雪峰(地址)的教程,只是优化了几个地方。

python Logo

源码

示例中是QQ邮箱,QQ邮箱的SMTP密码是授权码(位置在:设置->账户->SMTP…设置),需要先申请才能用,而且QQ邮箱强制使用SSL,请注意。

Spring WebFlux+Spring Boot:入门示例

Spring WebFlux是啥

Spring WebFlux是Spring FrameWork 5.0新增的Web框架,特点如下:

  1. 非阻塞式;
  2. 不依赖Servlet;
  3. 多种部署方式,例如:jetty,tomcat,netty等

java

源码

完整源码:https://coding.net/u/pruidong/p/SpringBoot2WebFluxDemo/git

这个例子,使用了Spring Boot + Spring WebFlux + Thymeleaf + H2 ,通过Maven构建整个项目,在pom.xml中引用了还未正式发布的Spring Boot 2.0,所以部分依赖需要从Spring的Maven仓库中获取,速度可能较慢(2017/10/25,后期会直接更新pom.xml,但不会更新文章).

使用方式如下:

首先是pom.xml ,Maven构建文件:

Dao操作类:

其余文件,可以参考:项目地址

Java:@SpringApplicationConfiguraction和@WebIntegrationTest在Spring Boot中不能使用的解决方案

@SpringApplicationConfiguraction和@WebIntegrationTest解决方案

在Spring Boot 1.5.7 中@SpringApplicationConfiguraction和@WebIntegrationTest中不能使用了.

找了半天总算找到了解决方案.

记录如下.

java标志

源码

如果在Spring Boot中使用了Spring Security,并且使用了自定义UserDetails,在测试的时候需要使用如下方式: