개발노트

고즐의 개발 및 서버 개발 노트

파이썬 requests HTTP 요청 실전 정리, API 호출과 응답 처리 완전 가이드

# 파이썬requests # 파이썬HTTP요청 # 파이썬API호출 # requests사용법 # 파이썬API응답처리

Python 2025.12.17 6일 전 55 회 읽음


HTTP 요청과 API가 자동화의 확장인 이유

HTTP 요청은 외부 서비스와 데이터를 주고받으며 자동화를 외부 세계로 확장합니다.


자동화가 파일을 넘어가는 순간

이전 편까지는 로컬 파일과 설정을 중심으로 자동화를 구성했습니다.

HTTP 요청을 사용하면 외부 서비스와 직접 통신할 수 있습니다.

이 지점부터 자동화 스크립트는 시스템 간 연결 도구가 됩니다.


외주 코드에서 API 호출이 많은 이유

결제, 알림, 데이터 조회 등 대부분의 기능이 API 형태로 제공됩니다.

외주 파이썬 코드에는 거의 항상 requests 호출이 포함됩니다.

API 호출 구조를 이해하면 코드 절반은 읽은 셈입니다.


HTTP 요청 흐름 한 줄 요약

요청을 보내고 응답을 받고 데이터를 처리합니다.

이 과정은 파일 읽기와 매우 유사한 구조를 가집니다.

읽기 대상이 파일에서 서버로 바뀌었을 뿐입니다.


이번 편에서 다룰 범위

requests 라이브러리를 이용한 기본 HTTP 요청을 다룹니다.

GET과 POST 중심으로 실무 패턴을 정리합니다.

인증과 고급 옵션은 이후 편에서 다룹니다.


requests 라이브러리 기본 이해

requests는 파이썬에서 HTTP 요청을 가장 단순하게 만들어주는 표준 도구입니다.


requests 역할과 특징

requests는 HTTP 요청을 코드 몇 줄로 처리할 수 있게 해줍니다.

복잡한 소켓 처리 없이 직관적인 API를 제공합니다.

실무에서 사실상 표준처럼 사용됩니다.


requests 설치 방법

requests는 기본 라이브러리가 아니므로 설치가 필요합니다.

가상환경을 사용하는 경우 해당 환경에 설치해야 합니다.

외주 코드 실행 전 설치 여부를 반드시 확인해야 합니다.

pip install requests


기본 import 구조

requests는 import 한 줄로 바로 사용할 수 있습니다.

별도 설정 없이도 대부분의 요청이 가능합니다.

이 단순함이 requests의 가장 큰 장점입니다.

import requests


외주 코드에서 보이는 기본 형태

requests.get 또는 requests.post 형태로 호출됩니다.

URL과 옵션을 함께 넘기는 구조입니다.

이 패턴을 익히면 코드 해석이 훨씬 쉬워집니다.


GET 요청으로 데이터 조회하기

GET 요청은 서버에서 데이터를 가져오는 가장 기본적인 방식입니다.


GET 요청 기본 패턴

GET 요청은 URL을 통해 데이터를 요청합니다.

응답은 보통 JSON 형태로 반환됩니다.

조회성 API 호출에 가장 많이 사용됩니다.

response = requests.get("https://api.example.com/data")
print(response)


응답 상태 코드 확인

HTTP 응답에는 상태 코드가 포함됩니다.

200은 정상 응답을 의미합니다.

실무에서는 상태 코드 확인이 필수입니다.

if response.status_code == 200:
    print("요청 성공")


응답 본문 읽기

text 속성은 응답 내용을 문자열로 제공합니다.

JSON이 아닌 단순 텍스트 응답에 사용됩니다.

디버깅 시 전체 응답을 확인할 때 유용합니다.

print(response.text)


GET 요청 실패 방어

네트워크 오류나 서버 오류로 요청이 실패할 수 있습니다.

실무에서는 예외 처리로 스크립트 중단을 방지합니다.

자동화 안정성을 위한 기본 습관입니다.


JSON 응답 처리 실전 패턴

API 응답은 대부분 JSON이며 dict와 list로 바로 처리됩니다.


response json 메서드 사용

json 메서드는 응답을 dict나 list로 변환합니다.

이전 편에서 배운 JSON 처리 지식이 그대로 적용됩니다.

실무에서 가장 많이 사용하는 방식입니다.

data = response.json()
print(data)


JSON 데이터 접근 방식

응답 데이터는 키 기반으로 접근합니다.

구조를 모를 경우 먼저 전체를 출력해 확인합니다.

외주 코드 분석 시 가장 먼저 해야 할 작업입니다.


리스트 형태 응답 처리

API 응답이 리스트인 경우 반복문과 함께 처리합니다.

데이터를 하나씩 순회하며 필요한 값만 추출합니다.

자동화 스크립트의 전형적인 구조입니다.

for item in data:
    print(item)


응답 구조 변경 대비

API 응답 구조는 변경될 수 있습니다.

get 메서드를 활용해 방어적으로 접근하는 것이 좋습니다.

이 습관은 장애를 크게 줄여줍니다.


POST 요청으로 데이터 전송하기

POST 요청은 서버에 데이터를 전달해 작업을 수행하게 합니다.


POST 요청 기본 구조

POST 요청은 데이터를 함께 서버로 전송합니다.

주로 생성, 등록, 처리 요청에 사용됩니다.

외주 코드에서 결제나 알림 전송에 자주 등장합니다.

payload = {
    "name": "test",
    "value": 10
}

response = requests.post("https://api.example.com/create", json=payload)


json 파라미터 사용 이유

json 파라미터는 데이터를 JSON 형식으로 전송합니다.

서버에서 바로 JSON으로 처리할 수 있어 편리합니다.

실무 API 대부분이 이 방식을 사용합니다.


POST 응답 처리

POST 요청도 GET과 동일하게 응답을 반환합니다.

상태 코드와 응답 내용을 함께 확인해야 합니다.

성공 여부 판단은 응답 기준으로 합니다.


전송 실패 대비 패턴

네트워크 오류나 서버 오류로 전송이 실패할 수 있습니다.

재시도 로직과 로그 기록이 실무에서 중요합니다.

이 패턴은 설정 기반 자동화와 잘 결합됩니다.


자동화 스크립트에서의 API 활용 흐름

API 호출은 설정, 파일, 반복문과 결합해 자동화의 핵심 흐름을 만듭니다.


설정 파일과 API 결합

API URL과 옵션을 JSON 설정 파일로 관리합니다.

환경별로 다른 API를 쉽게 적용할 수 있습니다.

유지보수가 쉬운 구조를 만듭니다.


반복 호출 자동화

여러 데이터에 대해 API를 반복 호출합니다.

for 반복문과 조건문이 함께 사용됩니다.

대량 처리 자동화의 기본 패턴입니다.


파일 저장과 로그 기록

API 응답 결과를 파일로 저장합니다.

로그를 남겨 실행 이력을 관리합니다.

문제 발생 시 원인 분석이 쉬워집니다.


앞선 편과의 연결

3편의 조건문과 반복문이 API 처리에 사용됩니다.

4편의 파일 입출력이 결과 저장에 활용됩니다.

5편의 JSON 처리가 설정과 응답 처리에 연결됩니다.


다음 편 예고와 학습 흐름 정리

다음 편에서는 API 인증과 헤더 처리를 통해 실전 수준으로 확장합니다.


이번 편에서 반드시 이해해야 할 핵심

requests는 HTTP 요청을 가장 단순하게 만들어줍니다.

GET과 POST 패턴만 익혀도 실무 활용도가 매우 높습니다.

JSON 응답 처리는 자동화의 중심 기술입니다.


실무 코드 해석 능력 변화

외주 코드의 API 호출 부분이 구조적으로 보이기 시작합니다.

요청과 응답 흐름을 한 번에 파악할 수 있습니다.

자동화 스크립트 확장이 쉬워집니다.


다음 편에서 다룰 내용

다음 편에서는 API Key와 토큰 인증을 다룹니다.

헤더 처리와 보안 주의점을 설명합니다.

실전 외주 코드에서 가장 헷갈리는 부분을 정리합니다.


추천 연습 방법

공개 API를 하나 골라 GET 요청을 직접 보내보는 연습이 좋습니다.

응답 JSON 구조를 출력해보고 필요한 값만 추출해보세요.

설정 파일로 API URL을 관리하며 자동화를 구성해보는 것이 도움이 됩니다.

문의답변