requests

  • (vs code) pip install requests 를 입력하여 설치한다.
  • 파이썬에서 http 통신을 가능하게 해주는 모듈이다.
  • 웹브라우저 없이 코드로 받아온다는 것이 특징이 있다.
  • beautifulsoup, api 통신, 카카오 결제등과 함께 쓰인다. 

 


 

 

API (http 통신)

 

  1. GET: 데이터 정보 요청
  2. POST: 데이터 생성 요청
  3. PUT: 데이터 수정 요청
  4. DELETE: 데이터 삭제 요청

    서버에서 응답(response), 내용(content), 상태코드(status code)를 받아온다.

    *content : 서버가 클라이언트에게 보여줄 내용. bytes 타입의 데이터

    *status code: 통신이 정상적으로 진행이 되었는지 상태 코드를 받아옴

 

 

 

status code 예시

더보기

2xx - 성공

  • ㄱ200 : 정상 통신 완료
  • 201 : 정상 생성 완료

3xx - 페이지 리다이렉션

  • 301 : url 변경

4xx-클라이언트 오류

  • 400: 클라이언트가 잘못 된 요청을 보냄
  • 401: 인증되지 않은 사용자
  • 403 : 액세스 권한이 없음

5xx-서버 오류

  • 500 : 서버에서 처리할 수 없음
  • 502 : 게이트웨이에서 잘못된 응답을 받음

통신 테스트 사이트 : https://jsonplaceholder.typicode.com/

 

 

get 요청 테스트 코드

더보기
import requests
from pprint import pprint

#통신할 base url
url = “ https://jsonplaceholder.typicode.com/” 

#user/1 정보를 받아옴
r = requests.get(f”{url}users/1”) 

pprint({ 
“contents”: r.text,
“status_code”: r.status_code,
})

#데이터는 json 형식으로 가져옴

post 요청 테스트코드

더보기
import requests
from pprint import pprint

# 통신 할 base url
url = "https://jsonplaceholder.typicode.com/"

# 데이터 생성 값
user = {
    "name": "sparta",
    "email": "sparta@test.com",
    "phone": "010-0000-0000",
}

r = requests.post(f"{url}users", data=user)
#PUT 사용법 : r = requests.put(f"{url}users", data=user)
#DELETE 사용법 : r = requests.delete(f"{url}users", data=user)

pprint({
    "contents": r.text,
    "status_code": r.status_code,
})

 

'Python' 카테고리의 다른 글

[Python] CSV(comma-separated values) 파일  (0) 2023.03.22
[Python] json 파일  (0) 2023.03.22
[Python] 정규표현식(regular expression)  (0) 2023.03.22
[Python] 예외처리문(try-except)  (0) 2023.03.22
[Python] 클래스(Class)  (0) 2023.03.22

+ Recent posts