参考了:
https://www.cnblogs.com/newcj/archive/2011/08/11/2135094.html
https://blog.csdn.net/xc765926174/article/details/51397847
https://blog.csdn.net/u013252110/article/details/56841698
https://blog.csdn.net/amberwu/article/details/52778530
一. Uri.Builder与string互转
Uri.Builder->String
Uri.Builder builder = new Uri.Builder();
builder.encodedPath("http://xxx.xxx.xxx.xxx:xxxx");
builder.appendEncodedPath("xxx/xxx/xxx");
builder.appendQueryParameter("key", "value");
String url = builder.toString();
String->Uri.Builder
Uri.Builder builder = Uri.parse(url).buildUpon();
二.navigator.userAgent.toLowerCase()用于判断浏览器的类型