기본적으로 맨 위에 requests 모듈을 import 해줘야한다.
import requests
1. GET 방식으로 파라미터 넘기기
import requests
url = "https:// ... " #요청을 보낼 url을 입력.
para = { #보낼 파라미터를 변수에 넣어준다. 이때, key:value 형식으로 입력.
'id' : 'abcd',
'pw' : 1234
}
response = requests.get(url, params=para) #params라는 인자를 사용
print(response.status_code) #응답코드 출력
이때, 중요한 부분이 파라미터 인자값은 key : value 형태이어야한다. 또한 params라는 인자 사용해 전달한다.
2. POST 방식으로 data 넘기기
- dict 타입 : {key : value}로 이루어진 쌍들로 이뤄져있다.
import requests
url = "https:// ... " #요청을 보낼 url을 입력.
data = { #보낼 데이터를 변수에 넣어준다. 이때, key:value 형식으로 입력.
'id' : 'abcd',
'pw' : 1234
}
response = requests.get(url, data=data) #data라는 인자를 사용
print(response.status_code) #응답코드 출력
이때, 중요한 부분이 파라미터 인자값은 key : value 형태이어야한다. 또한 GET방식과 달라진 점은 data라는 인자 사용해 전달한다는 것이다.
- str 타입 : dictionary 구조를 유지하면서 문자열로 전달해야할 때 사용한다.
import requests, json #json 모듈을 import해준다.
url = "https:// ... "
data = { #보낼 데이터를 변수에 넣어준다. 이때, key:value 형식으로 입력.
'id' : 'abcd',
'pw' : 1234
}
response = requests.get(url, data=json.dumps(data)) #data라는 인자를 사용
print(response.status_code) #응답코드 출력
3. 헤더 추가, 쿠키 추가
import requests
url = "https:// ... "
cookies = {'session_id' : ' ... '} #쿠키와 헤더 입력
headers = {'Content-Type': 'application/json; charset=utf-8'}
data = {
'id' : 'abcd',
'pw' : 1234
}
response = requests.get(url, data=data, headers=headers, cookies=cookies) #cookies와 headers 인자
print(response.status_code) #응답코드 출력
4. 응답 받기(
- response.text >> 응답을 txt형식으로 출력
- response.content >> 주로 음악, 비디오 등 응답을 byte로 받아 저장시킴
- response.request >> 내가 보낸 request 객체에 접근
- response.status_code >> 응답코드
- response.json() >> 딕셔너리 타입으로 변환
- response.url >> 요청 url 확인
이 외에도 다양한 응답들을 받을 수 있다.
'보안 공부 > Web' 카테고리의 다른 글
[Web] SQL 쿼리 취약점 정리 (0) | 2021.11.11 |
---|---|
[Web] 웹 인코딩 종류 (0) | 2021.11.11 |
SSRF(Server-Side Request Forgery) 취약점 (1) | 2020.09.01 |
LFI(Local File Inclusion) 취약점 (0) | 2020.09.01 |
PHP 비교 연산자 취약점, 매직 해쉬 (0) | 2020.07.31 |
댓글