CodeGym /행동 /Python SELF KO /네트워크 작업하기

네트워크 작업하기

Python SELF KO
레벨 23 , 레슨 2
사용 가능

3.1 requests 모듈

Python에서 기본적인 인터넷 작업을 할 때 사용하는 라이브러리가 requests야. 이 라이브러리는 네트워크 작업을 위해 편리한 인터페이스를 제공하고, 최소한의 노력으로 HTTP 요청을 보내고 응답을 받을 수 있게 해줘.

이 라이브러리는 Python에 기본적으로 포함되어 있지 않아서, 사용하기 전에 패키지 매니저로 설치해야 해.

터미널을 열고 이렇게 써봐:


pip install requests
        

라이브러리를 설치한 후, requests 모듈을 프로젝트에서 사용할 수 있어. 예를 들어, 이렇게 하면 외부 IP 주소를 확인할 수 있어:


import requests

response = requests.get("http://ip.jsontest.com/")
print(response.status_code)  # 응답 상태 코드를 출력
print(response.json())       # JSON 응답을 출력

여기서 우리는 ip.jsontest.com이라는 서비스(사이트)에 요청을 보냈어. 이 사이트는 요청된 IP 주소를 포함한 JSON 객체를 반환해 줘. 요청을 보내고 응답을 받는 과정이 한 줄로 이루어져서 아주 편리해. 나머지 줄에서는 서버의 응답을 출력했어.

위 예제에서 get() 메소드를 사용했어. 아래에서는 이 메소드와 requests 객체의 다른 메소드들에 대해 설명할게.

3.2 메소드 목록

requests 객체에는 모든 HTTP 요청 타입에 하나씩 대응하는 메소드가 있어.

메소드 설명
requests.get() 서버로부터 데이터를 받기 위해 GET 요청을 전송해.
requests.post() 서버로 데이터를 보내기 위해 POST 요청을 전송해.
requests.put() 서버의 데이터를 업데이트하기 위해 PUT 요청을 전송해.
requests.delete() 서버의 데이터를 삭제하기 위해 DELETE 요청을 전송해.
requests.head() 응답 본문 없이 헤더만 받기 위해 HEAD 요청을 전송해.
requests.options() 서버에서 지원하는 메소드와 매개변수를 받기 위해 OPTIONS 요청을 전송해.
requests.patch() 서버의 데이터를 부분적으로 업데이트하기 위해 PATCH 요청을 전송해.
requests.request() 모든 유형의 HTTP 요청을 전송하기 위한 기본 메소드야.

아래에서는 가장 기본적인 것들을 살펴볼게.

3.3 GET 요청POST 요청 보내기

GET 요청은 보통 URL만 포함하거나 추가적인 매개변수 문자열을 포함할 수도 있어.

1. 순수한 GET 요청 보내기

GET 요청은 서버로부터 데이터를 받는데 사용돼. 필수 매개변수는 요청할 URL이야.

예시:


import requests

response = requests.get('https://jsonplaceholder.typicode.com/posts')
print(response.status_code)  # 응답 상태 코드를 출력
print(response.json())       # JSON 응답을 출력

2. 매개변수가 있는 GET 요청

URL은 key=value&key2=value2&… 형식의 추가 매개변수를 가질 수도 있어.

우리의 경우, 매개변수는 딕셔너리 형태로 params 변수에 전달돼:


import requests

params = {'userId': 1}
response = requests.get('https://jsonplaceholder.typicode.com/posts', params=params)
print(response.json())

3. POST 요청 보내기

POST 요청은 요청 본문을 포함할 수 있어: 텍스트, JSON 또는 심지어 이미지까지도.

예시:


import requests

data = {
    'title': 'foo',
    'body': 'bar',
    'userId': 1
}
response = requests.post('https://jsonplaceholder.typicode.com/posts', json=data)
print(response.status_code)
print(response.json())

3.4 PUT 요청DELETE 요청 보내기

1. PUT 요청 보내기

PUT 요청은 서버의 데이터를 업데이트하는 데 사용돼.


import requests

data = {
    'title': 'foo',
    'body': 'bar',
    'userId': 1
}
response = requests.put('https://jsonplaceholder.typicode.com/posts/1', json=data)
print(response.status_code)
print(response.json())

2. DELETE 요청 보내기

DELETE 요청은 서버의 데이터를 삭제하는 데 사용돼.


import requests

response = requests.delete('https://jsonplaceholder.typicode.com/posts/1')
print(response.status_code)
print(response.json())

더 나아가서 GET, POST, PUTDELETE 요청의 본질을 더 잘 이해하려면 네트워크, 인터넷, 웹 및 HTTP에 대한 강의를 읽어야 해, 이 모든 것이 곧 네 앞에 있을 거야.

코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION