当前位置: 首页 > news >正文

网站建设时间、人力及成本估算网站有哪些费用多少钱

网站建设时间、人力及成本估算,网站有哪些费用多少钱,seo资源网站排名,移动互联网站开发与软件开发背景 自 Android 9.0 起,默认禁止使用 HTTP 进行访问。当尝试使用 HTTP 链接时,将会收到以下错误信息: "Cleartext HTTP traffic to " host " not permitted"为了解决这一问题,下面介绍两种破解方法&…

背景

自 Android 9.0 起,默认禁止使用 HTTP 进行访问。当尝试使用 HTTP 链接时,将会收到以下错误信息:

"Cleartext HTTP traffic to " + host + " not permitted"

为了解决这一问题,下面介绍两种破解方法:

XML布局设置

在 Android 9.0 及以上版本,需要通过以下配置允许 HTTP 访问。在 android/app/res 目录下新建 network_security_config.xml 文件,内容如下:

<network-security-config><base-config cleartextTrafficPermitted="true"><trust-anchors><certificates src="system" /></trust-anchors></base-config>
</network-security-config>

然后在 android/app 目录下的 AndroidManifest.xml 文件中的 application 标签内声明文件:

android:usesCleartextTraffic="true"
android:networkSecurityConfig="@xml/network_security_config"

其实只需在 AndroidManifest.xml 文件中的 application 标签内声明 android:usesCleartextTraffic="true" 就可以了。如果还有特殊的配置,则需要配置 networkSecurityConfig 文件。另外需要说明的是,networkSecurityConfig 文件中的 cleartextTrafficPermitted 属性会优先于 application 标签内的 usesCleartextTraffic,这意味着,即使在 application 标签中设置了 android:usesCleartextTraffic="false",但在 networkSecurityConfig 文件中设置了 cleartextTrafficPermitted="true",仍然会开启明文传输。

代码设置

为了验证结果,首先需要在 AndroidManifest.xml 文件中的 application 标签内声明文件:

android:usesCleartextTraffic="false"

接下来编写反射工具类,用于调用对象的指定方法:

import android.util.Log;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;/*** 反射工具类,用于调用对象的指定方法*/
public class ReflectionUtil {private static final String TAG = "ReflectionUtil"; // 日志标签/*** 调用对象的指定方法* * @param owner      方法所属的对象实例* @param methodName 方法名* @param b          方法参数,boolean类型* @return 方法的返回值,如果调用失败则返回null*/public static Object invokeMethod(Object owner, String methodName, boolean b) {if (owner == null) {Log.e(TAG, methodName + " not invoked, owner is null"); // 记录错误日志:对象为空无法调用方法return null;}try {Class<?> ownerClass = owner.getClass(); // 获取对象的类Method method = ownerClass.getDeclaredMethod(methodName, boolean.class); // 获取指定方法method.setAccessible(true); // 设置方法为可访问return method.invoke(owner, b); // 调用方法} catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {Log.e(TAG, methodName +" not invoked, InvocationTargetException or NoSuchFieldException or IllegalAccessException: " +e.getMessage()); // 记录错误日志:方法调用失败}return null;}
}

最后,通过以下代码设置:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {boolean permittedOld = NetworkSecurityPolicy.getInstance().isCleartextTrafficPermitted(); // 获取旧的 cleartext 流量是否允许Log.i("TAG", "onCreate, permittedOld: " + permittedOld); // 记录旧的 cleartext 流量是否允许的日志// 动态设置 setCleartextTrafficPermitted 方法ReflectionUtil.invokeMethod(NetworkSecurityPolicy.getInstance(), "setCleartextTrafficPermitted", true);boolean permittedNew = NetworkSecurityPolicy.getInstance().isCleartextTrafficPermitted(); // 获取新的 cleartext 流量是否允许Log.i("TAG", "onCreate, permittedNew: " + permittedNew); // 记录新的 cleartext 流量是否允许的日志
}

简而言之,通过 XML 布局和反射设置,可以绕过 Android 9.0 的 HTTP 访问限制。

http://www.yayakq.cn/news/575090/

相关文章:

  • 网站开发最快的语言全国设计大赛官网
  • 建站必须要域名吗手机网站被禁止访问怎么打开
  • 小企业网站建设厂家有哪些wordpress页面重定向
  • 河源公司做网站跟网站开发有关系的工作有哪些
  • 网站后台发邮件旅游网站源码 wordpress模板 v1.0
  • 网站自动更新关于新品牌的营销策划
  • 贵州西能电力建设有限公司网站做一个网站只做前端怎么做
  • 网站建设三站合一工业设计公司属于什么行业
  • 广州个人网站制作公司龙岩公司注册流程
  • 怎么查看网站是否备案深圳互联网科技有限公司
  • 安丘网站建设报价美橙智能网站
  • 如何查公司网站开发时间没有网站域名备案
  • 网站设置关键词做宣传可以在哪些网站上发布
  • 商城网站方案wordpress设置背景图片
  • 网站标题应怎设置怎么做公司网站竞价
  • 太原市零元网站建设东莞seo网站优化排名
  • 此网站服务器不在国内维护导航wordpress模板
  • 在微信上做网站wordpress删除摘要
  • 松江做营销网站代理公司韩剧在线观看免费
  • 租服务器发布网站眼镜网站建设
  • 深圳建设网站seo 手机龙岗网站设计机构
  • 深圳企业网站建设定制开发服务长沙县政务网站
  • 为什么大型网站都用php网站排名第一
  • 网站建设捌金手指下拉十六赣州培训学做网站
  • 免费建设在线商城的网站企业建站模板多少钱
  • 榆林免费做网站建立公司网站的好处
  • 做服装的外贸网站施工方案下载免费网站
  • 网站建设的目标及功能定位什么网站做推广
  • 网站开发的公司排名宁波专业网站seo公司
  • 山东网站建设哪家权威学seo网站推广好吗