본문 바로가기

Programming

(22)
파이썬 로그인 세션 유지하기 & 티스토리 API Access token 자동 발급 Session 유지의 필요성 오픈API의 Oauth 2.0 인증이나 기타 다른 프로그램을 만들다 보면 세션을 유지해야 하는 경우가 있다. 로그인 상태를 유지한다고 생각하면 이해가 쉽다. 특히 Oauth 인증은 API사용을 위한 ID, Key 값을 이용해서 다른 Token을 받아와야 하는 경우가 있기 때문에 세션유지를 해줘야 한다. 예전에는 그냥 로그인하고 Cookie 값을 가져다 코드에 박아 넣었지만 인증세션이 만료되면 Cookie 를 다시 확인해서 넣어줘야 되는 번거로움이 있다. 티스토리 API로 Oauth 인증방식을 사용하고 있어 세션 유지가 필요하다. Session 유지 구현 먼저 requests 를 import 해준다. 파이썬 라이브러리에 requests가 없다면 pip -install reque..
티스토리 API & Access Token 발급받기 티스토리 API 발급 티스토리는 API를 사용해 블로그 정보, 글, 카테고리, 댓글등을 제어 할 수 있다. API를 활용해서 매일 포스팅 하는 프로그램은 어떨까 싶어서 이번에 API키를 발급받았다. 발급 사이트는 아래에서 발급 받을 수 있다. TISTORY 나를 표현하는 블로그를 만들어보세요. www.tistory.com 접속을 하면 아래와 같이 App 등록 화면을 볼 수 있는데 빈칸을 작성하면 app_id와 secret_key를 발급 받을 수 있다. 나는 개인 PC나 클라우드 이미지에 프로그램을 올려 사용할 생각이라 서비스 형태를 PC애플리케이션으로 지정했다. 서비스 / CallBack URL은 본인 블로그 주소를 넣어주면 된다. Access_Token 발급 티스토리 API는 OAuth 2.0 인증방식..
파이썬에서의 쉘 or 시스템 명령어 사용 (CMD / BASH...) 파이썬으로 프로그래밍을 하다보면 Windows 의 CMD나 Linux의 Bash 처럼 Shell 명령어를 사용해야 하는 경우가 있다. 쉘 스크립트를 따로 만들어 실행하는 방법도 있지만 파이썬 내부에서 처리를 하는게 관리 측면에서 간편할 것 같다. 파이썬에서 시스템 명령어를 사용하는 방법들을 아래와 같다. os.system() 가장 보편적으로 사용되는 방법이다. 이름에서 짐작하겠지만 C언어에 systeml() 함수와 동일한 역할은 한다. import os import subprocess os.system('echo Hello SYSTEM') 실제 파이썬 코드에서는 위 명령어를 사용하면 'Hello SYSTEM' 이란 문구가 출력되는걸 확인 할 수 있다. 예제의 경우에는 주피터 노트북을 사용해 진행했기 때문..
파이썬으로 첨부파일이 있는 gmail 보내기 업무중에 만든 뉴스센싱 결과를 메일로 보내기 위해 파이썬 코드를 작성하였다. 단순 뉴스 수집을 위한 코드 였기 때문에 내부 메일 서버를 사용하지 않고 외부에 별도의 gmail 계정을 만들어 해당 계정으로 보내도록 만들었다. 간단하게 코드의 중요 부분들을 설명하자면 먼저 gmail의 smtp 서버 설정과 사용할 계정으로 로그인을 해줘야 한다. 구글의 경우 SMTP 서비스로 587번 포트를 이용하고 있다. 계정 로그인의 경우 패스워드 유출 위험이 있으므로 별도의 앱비밀번호를 만들어 넣는것을 추천한다. 앱 비밀번호 발급은 아래 포스팅을 참고하면 된다. 구글 앱 비밀번호 발급받기 구글 앱 비밀번호 발급의 필요성 파이썬 등의 프로그래밍 언어를 이용해 메일 송수신 모듈을 구현해야 할 경우가 있다. 주로 SMTP를 ..
네이버 검색 API를 이용한 코로나, 부동산 뉴스 검색 - with Python 네이버에서는 검색 API를 제공하여 일 25,000건 한도로 검색엔진에 등록된 다음 데이터를 조회 할 수 있다. 네이버 검색 결과 컨텐츠 웹 서비스 또는 모바일 앱에 네이버 웹문서/블로그/뉴스/책/영화/카페글/지식iN/쇼핑/이미지/백과사전/전문자료 분야에 대한 검색 결과 지역 검색 ‘OO역 맛집’, ‘OO동 술집’과 같은 검색 결과를 보여주고 싶을 때 사용하며, 네이버 지역 서비스에 등록된 각 지역별 업체 및 상호 검색 결과 검색 부가 기능 검색 부가 기능으로 특정 검색어에 대해 성인검색어 여부를 알려주는 기능과 검색창에 입력된 오타를 바로 잡아주는 오타변환 기능 제공 위에서 지원하는 기능 중 검색 결과 컨텐츠의 뉴스 검색 기능을 사용하여 파이썬으로 코로나, 부동산 관련 뉴스를 검색해주는 프로그램을 만들..
네이버 Open API 로 단축 URL 생성하기 네이버 Open API 신청과 파파고 API로 번역을 하는 프로그램을 만들었었다. 2020/02/10 - [Programming/Setting] - Naver 애플리케이션 등록 (API 이용신청) Naver 애플리케이션 등록 (API 이용신청) 1. Naver Developers 접속 네이버에서 제공하는 API를 사용하기 위해서는 애플리케이션 등록이 필요하다. 네이버 디벨로퍼 페이지로 먼저 접속을 한다. (https://developer.naver.com) NAVER Developers 네이버 오.. garnetiger.com 2020/02/26 - [Programming/Project] - 네이버 파파고 API로 번역 프로그램 만들기 by Python 네이버 파파고 API로 번역 프로그램 만들기 by ..
파이썬 & Nmap 으로 Anonymous FTP 찾기 모의해킹에서 의외로 자주 지적되는 항목 중에 하나는 비밀번호가 설정되지 않은 FTP 서비스의 사용이다. 검사를 위해서는 보통 nmap으로 21번 포트를 검사해서 open으로 나오는 IP로 접속해보는 것과, nmap에서 제공하는 nse 스크립트를 사용해 점검하는 방법이 있다. 내부 IP 대역을 FTP 클라이언트 프로그램으로 전부 접속해보는 방법도 있지만 공수 대비 결과가 별로다. 짧은 기간 안에 많은 항목과 부분들을 점검해야 하는 모의해킹에서 위 방법은 효율이 떨어진다. 간혹 가다가 내부 보안 정책으로 nmap 파일이 실행이 안 되는 경우가 있는데 점검은 해야 되는 경우가 있다. 이럴 경우 담당자에게 말해서 임시로 예외처리를 받고 점검을 진행하기도 한다. 하지만 간혹 가다가 실행 파일은 막혀 있지만 외부 ..
파이썬 파일 읽기 파이썬에서 파일을 읽는 방법은 read() / readline() / readlines() 3가지 이다. 다음과 같이 총 5줄을 가지고 있는 파일을 사용해 각각 어떻게 동작하는지 보겠다. read() 함수는 파일 전체의 내용을 읽어온다. f = open("C:/test/file_read.txt", 'r') line = f.read() print(line) f.close() Line 1 Line 2 Line 3 Line 4 Line 5 readline() 함수는 한번 호출할 때마다 파일을 한줄씩 읽어온다. f = open("C:/test/file_read.txt", 'r') line1 = f.readline() line2 = f.readline() print(line1) print(line2) f.clos..