서버단
apt install python-pip
pip install requests
코드 GET
import requests
url = "http://www.naver.com?a=bbb&b=123" response = requests.get(url)
print("status code :", response.status_code) |
출처: https://hongku.tistory.com/292 [IT에 취하개 :: 취미로 하는 개발]
코드 Post
import requests
#paramDict = {
datas = {
"a" : "bbb",
"b" : 123
}
url = "http://www.naver.com"
#response = requests.get(url, params=paramDict)
response = requests.post(url, data=datas)
print("status code :", response.status_code)
4. SSL 인증서를 사용하는 경우
요즘은 보안때문에 http보다 https를 많이 사용합니다. 간혹 SSL 때문에 오류가 발생하곤 하는데 그럴때는 verify 옵션을 넣어주면 됩니다. 예제를 살펴봅시다.
import requests
url = "https://www.naver.com" response = requests.post(url, verify=False)
print("status code :", response.status_code) |
cs |
verify 옵션을 넣을때는 False로 해서 넣어줍니다. default 값은 True 입니다.
5. 인증이 필요한 경우
API를 사용할때 key 토큰을 할당받아서 사용하기도 하지만, id와 password를 통해 인증을 하는 경우도 있습니다. 이때는 auth 옵션을 사용합니다.
import requests
url = "https://www.naver.com" response = requests.post(url, auth=("id","pass"))
print("status code :", response.status_code) |
cs |
auth=(아이디, 비밀번호)와 같은 형태로 넣어주면 됩니다.
6. 그 밖에 다른 옵션들
앞에서는 params와 data, verify, auth를 살펴봤습니다. 이밖에도 다른 옵션들이 많이 있습니다. headers, cookies, timeout 등등이 있습니다.
headers = {'Content-Type': 'application/json; charset=utf-8'} cookies = {'sessionKey': 'sessionValue'} timeout = 3 |
cs |
샘플코드
저는 보통 사용할 때, 조건문을 이용해서 응답코드에 따라 다른 로직을 처리하도록 만드는 편입니다. 정상적으로 값을 받아오면 200코드를 받아옵니다. 반면 잘못된 url을 넣으면 4xx 코드가 넘어옵니다.
import requests
url = "https://www.naver.com" #url = "https://www.test.com" rs = requests.post(url)
# response code rs_code = rs.status_code
if int(rs_code) == 200 : print("Okay") rs_text = rs.text print(rs_text) else : print(rs_code) print("Fail") |
cs |
정상적인 url로 요청할 때
존재하지않는 url로 요청할 때
출처: https://hongku.tistory.com/292 [IT에 취하개 :: 취미로 하는 개발]
'Language > Python' 카테고리의 다른 글
jupyter notebook 사용 (0) | 2019.05.07 |
---|---|
파이썬은 어디에 사용될까 ? (0) | 2019.05.07 |