[swift] Swift로 HTTP 요청에 사용자 에이전트 설정하기

웹 서비스와 통신하기 위해 HTTP 요청을 보내는 경우, 종종 사용자 에이전트(User Agent)를 설정해야 할 때가 있습니다. 사용자 에이전트는 요청을 보내는 클라이언트를 식별하는 문자열로, 서버는 이를 사용하여 요청을 처리하거나 응답을 조정할 수 있습니다.

Swift로 HTTP 요청을 보내고 사용자 에이전트를 설정하는 방법을 알아보겠습니다.

1. URLRequest 생성

URLRequest를 사용하여 HTTP 요청을 만들 수 있습니다. 사용자 에이전트를 설정하기 전에 URLRequest를 생성해야합니다. 아래는 기본적인 URLRequest를 생성하는 예제입니다.

let url = URL(string: "https://www.example.com/api")!
var request = URLRequest(url: url)

2. 사용자 에이전트 설정

URLRequest의 setValue(_:forHTTPHeaderField:) 메서드를 사용하여 사용자 에이전트를 설정할 수 있습니다. 사용자 에이전트는 “User-Agent” 헤더 필드에 저장됩니다. 아래는 사용자 에이전트를 “MyApp/1.0”으로 설정하는 예제입니다.

request.setValue("MyApp/1.0", forHTTPHeaderField: "User-Agent")

3. HTTP 요청 보내기

URLRequest를 설정한 후에는 URLSession을 사용하여 HTTP 요청을 보낼 수 있습니다. 아래는 URLSession을 사용하여 URLRequest를 보내는 예제입니다.

let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
    // 응답 처리
}
task.resume()

위 예제에서는 URLSession의 dataTask(with:completionHandler:) 메서드를 호출하여 HTTP 요청을 보내고, 응답을 처리하는 클로저를 전달합니다. 응답은 데이터(data), 응답(response), 오류(error)의 형태로 전달됩니다.

참고 자료