궁금한게 많은 열아홉
article thumbnail

필요성

바로 어제 Node.js로 node-cron을 활용해 주기적으로 문자열을 생성해주었다.(관련 글은 여기 있다.) 그 문자열을 Base64로 인코딩하여 QR이미지를 만들어 친구들이 조작 없이 실시간으로 인증할 수 있도록 만들어야 한다.

 

도입하기

Python3와 pip 설치는 사전에 준비되어있다는 가정하에 진행된다

폴더 및 파일 생성

우선 폴더 하나를 만들고, 안에 main.py를 생성한다

vscode

코드 작성

필요한 모듈을 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를 누르면 반복 종료

결과

영상 혹은 아래 사진을 통해 확인 할 수 있다

Screen Recording 2023-07-04 at 7.00.46 PM.mov
0.39MB
영상 보단 사진이...

profile

궁금한게 많은 열아홉

@jjin502

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!