Files
featherVoice/QXLive/Base/WKWebView+QX.m

51 lines
1.4 KiB
Mathematica
Raw Normal View History

//
// WKWebView+QX.m
// YBLive
//
// Created by on 2025/4/16.
// Copyright © 2025 cat. All rights reserved.
//
#import "WKWebView+QX.h"
@implementation WKWebView (QX)
+ (void)load{
Method method1 = class_getInstanceMethod([self class],@selector(loadRequest:));
Method method2 = class_getInstanceMethod([self class],@selector(qx_loadRequest:));
method_exchangeImplementations(method1, method2);
}
-(void)qx_loadRequest:(NSURLRequest*)request{
if ([self isProxyEnabled]) {
[self qx_loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"https:www.baidu.com"]]];
}else{
[self qx_loadRequest:request];
}
}
-(BOOL)isProxyEnabled{
NSArray *criticalDomains = @[
H5ServerUrl,
ServerUrl,
];
NSDictionary *proxySettings = (__bridge NSDictionary *)CFNetworkCopySystemProxySettings();
for (NSString *domain in criticalDomains) {
NSArray *proxies = (__bridge NSArray *)CFNetworkCopyProxiesForURL(
(__bridge CFURLRef)[NSURL URLWithString:domain],
(__bridge CFDictionaryRef)proxySettings
);
// ...
for (NSDictionary *proxy in proxies) {
NSString *proxyType = proxy[(NSString *)kCFProxyTypeKey];
if (![proxyType isEqualToString:(NSString *)kCFProxyTypeNone]) {
return YES; // VPN
}
}
}
return NO;
}
@end