Notice
														
												
											
												
												
													Recent Posts
													
											
												
												
													Recent Comments
													
											
												
												
													Link
													
											
									| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 | 
| 12 | 13 | 14 | 15 | 16 | 17 | 18 | 
| 19 | 20 | 21 | 22 | 23 | 24 | 25 | 
| 26 | 27 | 28 | 29 | 30 | 31 | 
													Tags
													
											
												
												- Excel
- swift
- MySQL
- port
- 리눅스
- 함수
- javascript
- node.js
- GIT
- flutter
- 맛집
- 다이어트
- 라즈베리파이
- PER
- PyQt
- tensorflow
- Unity
- mssql
- MS-SQL
- python
- Linux
- 날짜
- sqlite
- ubuntu
- IOS
- PyQt5
- pandas
- 유니티
- ASP
- urllib
													Archives
													
											
											
											
											아미(아름다운미소)
[iOS/SWIFT] HTTP 통신하기 본문
JSONSerialization을 이용한 HTTP 통신하기
다음은 JSON 요청 파라미터를 담아서 POST 요청을 하는 예입니다.
 @IBAction func jsonPost(_ sender: Any) {
   // 1. 전송할 값 준비
   let userId = (self.userId.text)!
   let name = (self.name.text)!
   let param = ["userId": userId, "name": name] // JSON 객체로 변환할 딕셔너리 준비
   let paramData = try! JSONSerialization.data(withJSONObject: param, options: [])
   // 2. URL 객체 정의
   let url = URL(string: "http://~~~~");
   // 3. URLRequest 객체 정의 및 요청 내용 담기
   var request = URLRequest(url: url!)
   request.httpMethod = "POST"
   request.httpBody = paramData
   // 4. HTTP 메시지에 포함될 헤더 설정
   request.addValue("applicaion/json", forHTTPHeaderField: "Content-Type")
   request.setValue(String(paramData.count), forHTTPHeaderField: "Content-Length")
   // 5. URLSession 객체를 통해 전송 및 응답값 처리 로직 작성
   let task = URLSession.shared.dataTask(with: request) {(data, response, error) in
	
            guard let data = data, error == nil else {                                                 // check for fundamental networking error
                print("error=\(error)")
                return
            }
            
            if let httpStatus = response as? HTTPURLResponse, httpStatus.statusCode != 200 {           // check for http errors
                print("statusCode should be 200, but is \(httpStatus.statusCode)")
                print("response = \(response)")
            }
            
            let responseString = String(data: data, encoding: .utf8)
            print("responseString = \(responseString)")
   }
   // 6. POST 전송
   task.resume()
 }
'랭귀지 > SWIFT' 카테고리의 다른 글
| iOS 키보드 타입 (0) | 2018.02.26 | 
|---|---|
| Swift NSURLSession을 통해서 POST로 폼 내용을 전송 (0) | 2018.02.24 | 
| [IOS / SWIFT] UserDefault을 사용한 자동로그인 (0) | 2018.02.22 | 
| [SWIFT] Launch Image에 이미지 delay time 주기 (0) | 2018.02.16 | 
| IOS App Icon 사이즈 포맷 정리 (0) | 2018.02.15 | 
			  Comments