개발/Swift

WKWebview 에서 post 요청하는방법

덤벨로퍼 2025. 4. 8. 09:46

WKwebview를 사용하여 웹뷰를 로드할떄 load 함수를 사용함

 webView.load(request)

이떄 들어가는 request는 URLRequest 타입이며

url 만 있으면 쉽게 만들수 있다.

let request = URLRequest(url: url, cachePolicy: cachePolicy)

일반적인 get 요청은 그런데 post 요청을 수행해야 하는 경우는 어떨까?

let request = URLRequest(url: url, cachePolicy: cachePolicy)
 request.httpMethod = "POST"

 webView.load(request)

httpMethod 만 지정해줘서 쉽게 바꿀수 있다.

이외 필요한 헤더 (토큰이나 contentType) 를 지정하고

request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")

바디에 정보 (파라미터) 를 답을수있다

  let bodyParams = "username=test&password=1234"
  request.httpBody = bodyParams.data(using: .utf8) // Data타입

기존 url 에 파라미터가 있다면 query를 가져와서 넣어줄수도 있다

  request.httpBody = url.query?.data(using: .utf8)