클라이언트 브라우저에서 Python 서버로 값들을 전송할 수 있습니다. 이때 여러 타입의 값들을 Python에서 전달 받는 방법을 알아봅니다.



# Python 서버에서 여러 값들 전달 받는 방법
전달 받는 값의 타입은 json, urlencoded, 파일(file) 등등 여러가지가 있겠습니다. 각각의 타입들을 서버에서 받기 위해서는 대부분 request 모듈을 사용합니다. 이때 모듈의 내부 함수는 조금씩 다른데요 하나씩 알아봅니다.


! 먼저 GET 방식인 경우
get 방식인 경우 주소 파라미터(query parameter, 쿼리 스트링)로 전달됩니다.
request.args.get(key)

예를들어 아래와 같은 주소로 전달된 경우라면?
webisfree.com?sitename=webisfree&no=123

request.args.get('sitename') // sitename 값을 가져올 경우
request.args.get('no') // no 값 가져오기, 접근하기


! GET 이 외의 타입 전달 받기
다음은 GET 이 외의 타입인 경우입니다. 대부분 아래와 같은 타입이죠
- json
- urlencoded
- file

@ urlencoded type
request.form.get(key)


@ json type
request.get_json()
json으로 가져온 값은 딕셔너리(dictionary) 타입으로 저장됩니다. 만약 json으로 전달된 값의 key가 sitename이라면 아래와 같은 방법으로 확인합니다.
request.get_json()['sitename']

참고로 get_json()은 다음의 값들이 설정 가능합니다.

silent // 파싱 에러 무시
force // mimetype 타입의 파싱 에러 무시
cache // 값 캐시 사용

get_json(silent=True)
위와 같이 boolean 값으로 설정하여 사용합니다.


@ file type
이번에는 파일인 경우입니다. 파일인 경우 request.files[key]를 사용하여 접근할 수 있습니다.
request.files['file']

여기까지 Python에서 request 모듈을 사용하여 서버로 전달 된 값에 접근, 전달 받는 방법을 알아보았습니다.