POST

GET은 리소스 얻기, POST는 리소스 생성이다. webhook.site 홈페이지로 html test를 할 수 있다. 간단히 get 요청을 보내면 아래와 같은 결과를 볼 수 있다.

import requests as req

# 아래 url 은 해시값으로 사용자마다 다름
res = req.get('https://webhook.site/df793a18-18b4-415d-ae11-f8c2e5d8a007')
print(res.text)

image

쿼리 스트링을 같이 날려보자.

import requests as req

res = req.get('https://webhook.site/df793a18-18b4-415d-ae11-f8c2e5d8a007?name=hi')
print(res.text)

image

이번에는 post를 해본다.

import requests as req

url = "https://webhook.site/df793a18-18b4-415d-ae11-f8c2e5d8a007"
res = req.post(url)

image

data를 포함해서 POST로 데이터를 보내면, 그 데이터에 관한 정보가 headers에 포함되는 것을 볼 수 있다. content-length나 content-type 등을 볼수 있고, raw content는 form value를 보기 쉽게 나타낸 것이다.

image


POST로 이미지 업로드

HTTP는 문자열 덩어리인데, 이미지를 어떻게 HTTP로 보낼까? 이미지는 사실 RGB로 표현되는 문자열 데이터이다. 이미지를 HTTP 문자열로 보내기 위해서는 Multipart/form-data를 사용한다.

image