본문 바로가기

ios

15. URLRequest

  • URLRequest 주요 사용 목적
    • 웹페이지 접근
    • HTTP 요청 커스터마이즈 
      • HTTP 메소드(GET, POST등)설정
        • Load 함수에 GET을 사용했을 때 데이터를 받아오려면 evaluateJavaScript()메소드를 사용하여 웹 페이지에서 필요한 데이터를 추출한다. 
      • 헤더 설정
      • 바디 데이터 설정
      • 이를 통해 인증, 쿠키관리, 추가파라미터 전송 등 처리가능
    • 사용자 인증을 요구하는 API에 접근할 때 필요한 토큰을 헤더에 포함시킬 수 있다.
    • 캐싱 정책 설정
    • 타임아웃 설정
import UIKit
import WebKit

class ViewController: UIViewController, WKNavigationDelegate {
    var webView: WKWebView!

    override func viewDidLoad() {
        super.viewDidLoad()
        // WKWebView 설정
        webView = WKWebView(frame: self.view.bounds)
        webView.navigationDelegate = self
        self.view.addSubview(webView)
        
        // 웹 페이지 로드
        if let url = URL(string: "https://www.example.com") {
            let request = URLRequest(url: url)
            webView.load(request)
        }
    }

    func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
        print("웹 페이지 로딩 완료")
        // 웹 페이지가 로드 완료된 후 데이터 처리
        extractDataFromPage()
    }

    func extractDataFromPage() {
        // JavaScript를 사용하여 웹 페이지에서 데이터 추출
        webView.evaluateJavaScript("document.body.innerText") { (result, error) in
            if let result = result as? String {
                print("페이지 텍스트: \(result)")
            } else if let error = error {
                print("JavaScript 평가 에러: \(error)")
            }
        }
    }
}

'ios' 카테고리의 다른 글

ios에서 적은 메모리로 이미지를 만들기(공부)  (2) 2024.12.13
storekit 공부하기  (0) 2024.12.06
13. iOS 초기화 공부  (0) 2024.01.15
12. Clean Architecture (iOS)  (0) 2023.12.24
11. 동기화 공부하기  (0) 2023.12.13