[python] requests 모듈 Response 응답 객체

Response 응답객체

requests 모듈을 사용하여 url을 호출하면 Response 객체를 반환해 줍니다. Response 객체가 값고 있는 값들에 대해 알아봅니다.

🧩1. Response 응답객체

request에 대한 반환 객체

  • 요청(request)을 보내면 응답(response) 객체를 받습니다. 이 응답 객체는 많은 정보와 기능을 가지고 있습니다.
명령어 기능 설명 예시
r.status_code
Response Status Codes 서버에서 보내는 응답코드 값을 반환합니다. 200
r.headers Response Headers dictionary 형태로 http 응답 헤드 값을 보여줍니다. {
'content-encoding': 'gzip',
'transfer-encoding': 'chunked',
'connection': 'close',
'server': 'nginx/1.0.4',
'x-runtime': '148ms',
'etag': '"e1ca502697e5c9317743dc078f67693f"',
'content-type': 'application/json'
}
r.cookies['example_cookie_name']
Cookies 쿠키 값을 가지고 있다면 반환합니다. 'example_cookie_value'
r.url Url 요청된 Url을 반환합니다. 'https://github.com/'
r.history
Response object to track redirection. 리다이렉션 여부를 체크합니다. [<Response [301]>]
r.text
Response Content unicode charsets 형태로 반환 받습니다. '[{"repository":{"open_issues":0,"url":"https://github.com/...
r.encoding
Encoding of the response response 객체의 인코딩 형태를 반환합니다. 'utf-8'
r.content Binary Response Content bytes 형태로 response 객체를 반환 받습니다. b'[{"repository":{"open_issues":0,"url":"https://github.com/...
r.json() JSON Response Content response 딕셔너리 타입을 json 형태로 반환합니다. [{'repository': {'open_issues': 0, 'url': 'https://github.com/...
r.raw Raw Response Content 서버로부터 socket response를 raw 형태로 반환 받습니다. <urllib3.response.HTTPResponse object at 0x101194810>

🧩2. Request 요청 방법

Requests 모듈 get() 함수

  • 서버로 응답 요청하는 방법 
import requests
    
    #get 방식
    r = requests.get('https://api.github.com/events')
    
    #post 방식
    r = requests.post('https://httpbin.org/post', data = {'key':'value'})
    
  • 요청 시 헤더를 추가하는 방법 
import requests
from requests.structures import CaseInsensitiveDict

url = "https://reqbin.com/echo/post/json"

headers = CaseInsensitiveDict()
headers["Accept"] = "application/json"
headers["charset"] = "utf-8"
headers["Content-Type"] = "application/json"

data = """
{
  "Id": 78912,
  "Customer": "Jason Sweet",
  "Quantity": 1,
  "Price": 18.00
}
"""


resp = requests.post(url, headers=headers, data=data)

print(resp.status_code)
    

참고 자료

https://docs.python-requests.org/en/master/user/quickstart/

댓글 쓰기

0 댓글