작성
·
57
0
3-2-2.py 17line
r = s.get('https://jsonplaceholder.typicode.com/posts/1')
=> requests.exception.SSLError 발생
3-3.py 49line
r = requests.put('https://jsonplaceholder.typicode.com/posts/1', data=payload)
=> requests.exception.SSLError 발생
변경시
r = requests.put('https://jsonplaceholder.typicode.com/posts/1', data=payload, verify=False)
=> InsecureRequestWarning 발생 후
print(r.text) 결과: {}
답변 3
0
안녕하세요. 현택님.
지금 해당 주소로 확인해보니 response가 정확하게 오고 있습니다.
좀 더 확인해보고 말씀드릴께요!
소스코드만 문제가 없으면 서버측 문제이니 다음 예제로 넘어가셔도 될 것 같습니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. 김현택님. 웹 크롤링이나 API 요청을 하면서 SSL/TLS 인증서로 인해 requests.exception.SSLError
가 발생할 수 있습니다. 이러한 오류는 requests
라이브러리가 서버의 인증서를 신뢰하지 못할 때 발생합니다.
SSL/TLS 인증서 문제:
verify=False
로 설정:
verify=False
옵션을 사용하면 SSL 인증서를 검증하지 않게 되어 InsecureRequestWarning
경고가 나타날 수 있습니다. 이는 보안 상의 우려 때문에 권장되지 않는 방법입니다.
해결 방법으로는 urllib3
패키지의 InsecureRequestWarning
을 무시하는 코드가 있지만, 이는 안전하지 않은 해결책이 될 수 있습니다.
import requests
from requests.packages.urllib3.exceptions import InsecureRequestWarning
# 불필요한 경고 메시지가 나타나지 않도록 설정
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
권장되는 방법:
빈 결과 문제:
print(r.text)
결과가 빈 객체 {}
로 나타난다면, 요청에 문제가 있거나 서버가 적절한 응답을 제공하지 않는 상황일 수 있습니다. 요청 구조나 데이터가 API의 기대치에 맞는지 확인해야 합니다.저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
0