필요성
바로 어제 Node.js로 node-cron을 활용해 주기적으로 문자열을 생성해주었다.(관련 글은 여기 있다.) 그 문자열을 Base64로 인코딩하여 QR이미지를 만들어 친구들이 조작 없이 실시간으로 인증할 수 있도록 만들어야 한다.
도입하기
Python3와 pip 설치는 사전에 준비되어있다는 가정하에 진행된다
폴더 및 파일 생성
우선 폴더 하나를 만들고, 안에 main.py를 생성한다
코드 작성
필요한 모듈을 import한다
# api 요청
import requests
# base64 인코딩
import base64
# qr 이미지 생성
import qrcode
# 대기 시간 설정
import time
서버가 켜져있는 동안 3초를 주기로 QR이미지를 생성해준다
# 참일 동안
while True:
try:
# 문자열을 가져옴
response = requests.get('문자열을 가져올 api 주소')
random_string = response.json()["generateNum"]
# base64로 인코딩한다
base64_encoded = base64.b64encode(random_string.encode()).decode()
# 인코딩한 문자열을 활용해 QR 이미지를 만들고 저장한다
qr = qrcode.QRCode()
qr.add_data(base64_encoded)
qr.make(fit=True)
img = qr.make_image(fill='black', back_color='white')
img.save('qrcode.png')
time.sleep(3) # 3초간 대기
except KeyboardInterrupt:
break # Ctrl+C를 누르면 반복 종료
결과
영상 혹은 아래 사진을 통해 확인 할 수 있다