인프런 커뮤니티 질문&답변
현재 예제에서 error 발생
작성
·
288
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 인증서 문제:
- 이 오류는 주로 서버의 SSL 인증서가 제대로 설정되지 않았거나, 로컬 환경에서 신뢰할 수 없는 인증서 때문입니다.
- 이 오류는 주로 서버의 SSL 인증서가 제대로 설정되지 않았거나, 로컬 환경에서 신뢰할 수 없는 인증서 때문입니다.
verify=False로 설정:verify=False옵션을 사용하면 SSL 인증서를 검증하지 않게 되어InsecureRequestWarning경고가 나타날 수 있습니다. 이는 보안 상의 우려 때문에 권장되지 않는 방법입니다.
해결 방법으로는
urllib3패키지의InsecureRequestWarning을 무시하는 코드가 있지만, 이는 안전하지 않은 해결책이 될 수 있습니다.import requests from requests.packages.urllib3.exceptions import InsecureRequestWarning # 불필요한 경고 메시지가 나타나지 않도록 설정 requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
권장되는 방법:
- 가능한 경우, 시스템의 CA 인증서 목록을 최신 상태로 업데이트하여 SSL 인증을 성공적으로 수행하도록 합니다.
- 사내 네트워크 트래픽일 경우, IT 부서에 올바른 CA 인증서를 설치 요청할 수 있습니다.
- 가능한 경우, 시스템의 CA 인증서 목록을 최신 상태로 업데이트하여 SSL 인증을 성공적으로 수행하도록 합니다.
빈 결과 문제:
print(r.text)결과가 빈 객체{}로 나타난다면, 요청에 문제가 있거나 서버가 적절한 응답을 제공하지 않는 상황일 수 있습니다. 요청 구조나 데이터가 API의 기대치에 맞는지 확인해야 합니다.
참고 URL
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
0





