---------- 스위프트 4+ -------
예를 감지 -
1 단계 : 사용 위임
을
class ViewController : WKUIDelegate,WKNavigationDelegate {
2 단계 : 설정 웹킷
func setWebView() {
let webConfiguration = WKWebViewConfiguration()
webView = WKWebView(frame: .zero, configuration: webConfiguration)
webView.uiDelegate = self
webView.navigationDelegate = self
view = webView
let myURL = URL(string: "https://www.bossmobi.guru/files/download/type/320/id/197255")//your audio url
let myRequest = URLRequest(url: myURL!)
webView.load(myRequest)
}
3 단계 : 웹킷 위임에서 오디오 MIME 유형을 가져옵니다.
func webView(_ webView: WKWebView, decidePolicyFor navigationResponse: WKNavigationResponse, decisionHandler: @escaping (WKNavigationResponsePolicy) -> Void) {
print(#function + "url is \(String(describing: webView.url))" + "Mimetype" + "\(navigationResponse.response.mimeType ?? "NotAvailable")")
if let _ = navigationResponse.response.mimeType?.range(of: "audio/mpeg") {
print("MP3 is audio url \(String(describing: webView.url))")
webView.stopLoading()
}
decisionHandler(.allow)
}
--------- ObjC ----------
WKWebView 설치
NSString *urlString = @"https://www.bossmobi.guru/files/download/type/320/id/197255";
WKWebViewConfiguration *theConfiguration = [[WKWebViewConfiguration alloc] init];
WKWebView *_demoWKWebView = [[WKWebView alloc] initWithFrame:self.view.frame configuration:theConfiguration];
_demoWKWebView.navigationDelegate = self;
_demoWKWebView.UIDelegate = self;
NSURL *nsurl=[NSURL URLWithString:urlString];
NSURLRequest *nsrequest=[NSURLRequest requestWithURL:nsurl];
[_demoWKWebView loadRequest:nsrequest];
[self.view addSubview:_demoWKWebView];
WKWebView 대리자
-(void)webView:(WKWebView *)webView decidePolicyForNavigationResponse:(WKNavigationResponse *)navigationResponse decisionHandler:(void (^)(WKNavigationResponsePolicy))decisionHandler {
//NSLog(@"decidePolicyForNavigation---Response %@",webView.URL);
if ([navigationResponse.response.MIMEType isEqualToString:@"audio/mpeg"]) {
NSLog(@"MP3 audio url is %@",webView.URL);
}
decisionHandler(WKNavigationResponsePolicyAllow);
}
문제는 URL은 파일 이름이없는 시스템에 저장됩니다. http://example.com/some/stuff/32f3121a234ae32423 –
"HEAD"의 httpMethod를 사용하면 다음과 같이 나타납니다. 헤더. 그러나 초기 탭 이후에 콘텐츠 호출이 필요합니다. –