728x90
• Flask
파이썬 기반으로 작성된 마이크로 웹 프로임워크이다.
간단한 웹 사이트, 간단한 API 서버를 만들 수 있다.
from flask import Flask, request
#웹 프레임워크 모듈 로드
app = Flask(__name__)
# app 변수에 Flask 모듈을 선언
@app.route("/hcm",methods={"GET","POST"})
def hcm():
print(request)
return "hcm", 200
if __name__=="__main__":
#메인 함수이며, 파이썬 내장 함수 => __name__ 에 의해 시작
app.run(debug=True,host="0.0.0.0",port=8081)
- 실습 1
import requests
# Header
headers ={
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0",
}
# Body
data = {
"data":Hello,
"data1":World
}
# 요청보내기
response = request.post("http://127.0.0.1:8080/hcm",headers=headers,data=data,verify=False)
#인증서 오류 : verify=False
- 실습 2
import os
proxy = '127.0.0.1:8180'
os.environ['HTTP'] = proxy
os.environ['HTTPS'] = proxy
# allow_redirects False 에 따른 http 요청 헤더 변화 파악
# requests 모듈 임포트
import requests
# warnings 에러 제어를 위한 urllib3 임포트
import urllib3
# warnings 에러 disable
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
# 크롬 브라우저 설정
headers ={
"User-Agent" : "Mozilla/5.01 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
}
# 서버 응답코드가 302 일시 리다이렉션 자동 해제
response = requests.get("URL 주소", headers=headers, allow_redirects=False)
if response.status_code == 302:
# Referer 값 설정
headers["Referer"] = "이전 URL 주소"
# 302 Location 값으로 서버에 재요청
response2 = requests.get(response.headers["Location"], headers=headers, allow_redirects=False, verify=False)
response = requests.get("URL 주서", headers=headers, allow_redirects=True)
Referer 값이 중요
> Referer 값이 없을 경우에 해당 페이지에 접근이 안 되는 경우가 있다. 즉, Referer를 체크하는 웹 페이지가 존재한다.
'S-DEV > 다크웹' 카테고리의 다른 글
다크웹 (0) | 2023.08.17 |
---|---|
데이터베이스 (0) | 2023.08.13 |
Web Crowlling - 1 (0) | 2023.08.07 |
웹 크롤링 기본 개념 (0) | 2023.08.05 |
pyautogui 사용하기 (0) | 2023.07.25 |