목차
- 파이썬 http 모듈 활용하여 HTTP GET, POST 통신 이전 포스팅 예제 참고 학습
- 파이썬 http 모듈 활용하여 HTTPS 통신 이전 포스팅 예제 참고 학습
- 파이썬 http 모둘 활용하여 Request 헤더 및 파일 업로드 이전 포스팅 예제 참고 학습
- 파이썬 서버 인증서 다운로드를 위한 파이썬 certifi 모듈 설치 예제
- 파이썬 socket, ssl 모듈 활용 서버에 SSL 통신 요청 후 PEM 서버 인증서 다운로드 예제
파이썬 http 모듈 활용하여 HTTP GET, POST 통신 이전 포스팅 예제 참고 학습
이전 포스팅에서는 파이썬 내장 모듈인 http.client를 사용하여 HTTP GET 및 POST 요청을 보내는 방법과 예제를 학습했습니다. 이를 통해 웹 서버와 통신하고 데이터를 주고받을 수 있습니다. 오늘 예제에서는 이러한 서버에 요청을 수행해주는 http 모듈 대신 requests 모듈을 활용하여 요청하도록 하겠습니다. 파이썬에서 http 모듈로 서버 요청 방법이 궁금하시다면 아래 링크를 참고해주세요.
2023.07.22 - [Python] - [Python] http 모듈을 사용하여 HTTP 통신 예제 - 1(GET, POST, 세션 처리)
파이썬 http 모듈 활용하여 HTTPS 통신 이전 포스팅 예제 참고 학습
다음으로 이전 포스팅에서는 파이썬 내장 모듈인 http.client를 사용하여 HTTPS 통신을 하는 방법에 대해 알아보았습니다. HTTPS는 보안된 통신을 제공하며, 이를 활용하여 안전한 데이터 전송이 가능합니다. 위 참고 포스팅은 HTTP 일반적인 평문 통신을 수행하였다면 HTTPS는 암호화 통신이기때문에 보안성이 우수합니다. 만약 파이썬으로 HTTPS 서버 통신 코드를 작성해야한다면 아래 링크를 참고하여 학습해주세요.
2023.07.22 - [Python] - [Python] http 모듈을 사용하여 HTTP 통신 예제 - 3(RESTful, HTTPS)
파이썬 http 모둘 활용하여 Request 헤더 및 파일 업로드 이전 포스팅 예제 참고 학습
마지막으로 이전 포스팅에서는 파이썬 내장 모듈인 http.client를 사용하여 HTTP 요청 시 헤더를 설정하고 파일 업로드를 하는 방법과 예제에 대해 알아보았습니다. Request 헤더를 설정하면 요청에 필요한 정보를 추가로 전송할 수 있으며, 파일 업로드는 다양한 형식의 파일을 웹 서버로 전송하는 예제입니다.
2023.07.22 - [Python] - [Python] http 모듈을 사용하여 HTTP 통신 예제 - 2(헤더 수정 및 파일 업로드)
파이썬 서버 인증서 다운로드를 위한 파이썬 certifi 모듈 설치 예제
아래는 파이썬에서 서버 인증서를 다운로드하기 위해 certifi 모듈을 설치하는 예제 코드입니다. 또한 서버에 GET 요청하기 위해 requests 모듈을 설치하는 코드입니다.
$ pip3 install requests certifi
파이썬 socket, ssl 모듈 활용 서버에 SSL 통신 요청 후 PEM 서버 인증서 다운로드 예제
아래는 파이썬의 ssl, socket 모듈을 사용하여 HTTPS SSL 통신 요청을 서버에 보내고 서버의 PEM 형식 인증서를 다운로드하는 예제 코드입니다.
import socket
import ssl
server_host = "example.com" # 서버 호스트 주소 입력
server_port = 443 # HTTPS 포트
# 소켓 연결 설정
context = ssl.create_default_context()
with socket.create_connection((server_host, server_port)) as sock:
with context.wrap_socket(sock, server_hostname=server_host) as ssock:
# 서버 인증서 가져오기
server_cert = ssock.getpeercert(True)
# 서버 인증서를 PEM 파일로 저장
with open("/tmp/example_certificate.pem", "wb") as cert_file:
cert_file.write(server_cert)
print("서버의 SSL/TLS 인증서를 다운로드하고 저장했습니다.")