用户组 
易积分722
热心0
好评1
|
随缘_多核播放器_关于拦截加速器并指定DNS_E4A接口代码[复制链接]
本帖最后由 suiyuan 于 2022-5-19 19:31 编辑
- package com.e4a.runtime.api;
- import android.util.Log;
- import com.e4a.runtime.annotations.SimpleFunction;
- import com.e4a.runtime.annotations.SimpleObject;
- import com.e4a.runtime.annotations.UsesPermissions;
- import com.video.code.entity.UrlConfigure;
- import com.video.code.http.HttpRequestCallback;
- import com.video.code.http.ssl.TlsSniSocketFactory;
- import com.video.code.serve.VideoServer;
- import java.net.URL;
- import javax.net.ssl.HostnameVerifier;
- import javax.net.ssl.HttpsURLConnection;
- import javax.net.ssl.SSLSession;
- @SimpleObject
- @UsesPermissions(permissionNames = "android.permission.INTERNET")
- public final class 代理拦截接口 {
- private static final String TAG = "ActivityManager";
- private static HttpRequestCallback httpRequestCallback;
- private static String ip="";
- @SimpleFunction
- public static void setIp(String ip) {
- 代理拦截接口.ip=ip;
- }
- @SimpleFunction
- public static void init() {
- if (httpRequestCallback == null) {
- httpRequestCallback = new HttpRequestCallback() {
- String sourceHost;
- @Override
- public void load(final UrlConfigure urlConfigure) {
- try {
- String url = urlConfigure.getUrl();
- // IP直连播放方案,适用场景,根据地区进行视频拉流加速
- // https://b-hls-12.doppiocdn.com/hls/75715997/master/75715997.m3u8
- // https://104.16.128.0/hls/75715997/master/75715997.m3u8
- if (url.contains("doppiocdn.com") && !"".equals(ip)) {
- sourceHost = new URL(url).getHost();
- url = url.replace(sourceHost, ip);
- urlConfigure.setUrl(url);
- urlConfigure.getHashMap().put("Host", sourceHost);
- urlConfigure.setSslSocketFactory(new TlsSniSocketFactory());//使用自定义证书
- urlConfigure.setHostnameVerifier(new HostnameVerifier() {
- @Override
- public boolean verify(String hostname, SSLSession session) {
- String host = sourceHost;
- if (null != host) {
- return HttpsURLConnection.getDefaultHostnameVerifier().verify(host, session);
- }
- return false;
- }
- });
- }
- } catch (Exception e) {
- Log.i(TAG, "异常" + e.getMessage());
- }
- }
- @Override
- public void OnErr(String url, boolean isTs, int statusCode) {
- //此地址非篡改后地址
- Log.i(TAG, "OnErr: 状态码:" + statusCode + " url:" + url);
- }
- };
- //添加监听
- VideoServer.setHttpRequestCallback(httpRequestCallback);
- }
- }
- }
复制代码
|
|