[python] 프록시 서버를 사용하여 요청 보내기

프록시 서버를 사용하여 인터넷에서 요청을 보내는 것은 웹 크롤링, API 호출 등 다양한 시나리오에서 유용합니다. 이번 포스트에서는 Python을 사용하여 프록시 서버를 통해 요청을 보내는 방법을 알아보겠습니다.

라이브러리 설치

먼저, requests 라이브러리를 설치해야 합니다. 아래의 명령어를 사용하여 설치합니다.

pip install requests

프록시 서버 설정

프록시 서버를 사용하기 위해서는 해당 서버의 주소와 포트번호가 필요합니다. 자신이 사용하려는 프록시 서버의 주소와 포트번호를 변수에 저장해봅시다.

proxy_address = 'proxy.example.com'
proxy_port = '8080'

프록시 서버를 사용하여 요청 보내기

이제 프록시 서버를 사용하여 요청을 보내는 방법을 알아봅시다. proxies 매개변수를 사용하여 원하는 프록시 서버의 주소와 포트번호를 지정할 수 있습니다.

import requests

url = 'https://example.com'
proxies = {
    'http': f'http://{proxy_address}:{proxy_port}',
    'https': f'https://{proxy_address}:{proxy_port}'
}

response = requests.get(url, proxies=proxies)

위 코드에서 url 변수에는 요청을 보낼 URL을, proxies 변수에는 프록시 서버의 주소와 포트번호를 설정합니다. requests.get() 함수를 사용하여 GET 요청을 보낼 수 있습니다.

프록시 인증 설정

만약 프록시 서버가 인증을 요구하는 경우, proxies 매개변수에 인증 정보도 포함해야 합니다. 아래와 같이 인증 정보를 추가할 수 있습니다.

proxy_user = 'username'
proxy_pass = 'password'

proxies = {
    'http': f'http://{proxy_user}:{proxy_pass}@{proxy_address}:{proxy_port}',
    'https': f'https://{proxy_user}:{proxy_pass}@{proxy_address}:{proxy_port}'
}

위 코드에서 proxy_user 변수에는 프록시 서버의 사용자명을, proxy_pass 변수에는 비밀번호를 설정합니다.

요약

Python을 사용하여 프록시 서버를 통해 요청을 보내는 방법에 대해 알아보았습니다. requests 라이브러리를 사용하여 원하는 프록시 서버의 주소와 포트번호를 지정하여 요청을 보낼 수 있습니다. 프록시 서버가 인증을 요구하는 경우, 인증 정보도 함께 설정해야 합니다.

프록시 서버를 사용하여 요청을 보내는 것은 웹 스크래핑, API 호출 등 다양한 상황에서 유용하게 활용될 수 있습니다.