2016-12-20 1 views
2

대학에서 작은 프로젝트를하고 있습니다. 대학 사이트에서 강의를 추출하고 이상적인 일정을 세우고 있습니다.SSLError : Python에서 요청한 프로토콜을 위반하여 EOF가 발생했습니다.

내가 오류가 계속 요청과 함께 웹 사이트에 액세스하는 동안 : 내가 필요로하는 사이트에 도달하는 동안

requests.exceptions.SSLError: EOF occurred in violation of protocol (_ssl.c:645) 

이 문제가 발생합니다. 다른 사이트에서는 문제가 없습니다.

iv'e없이 운이 이전 솔루션을 시도 : TLSv1의 = SSL 버전 HTTPadapter 내 자신을 만들어

  • ssl.py에서
  • 최우선 SSL 버전 (컨텍스트 = SSLContext의 (PROTOCOL_SSLv23))

pyOpenSSL을 제거 (나에게 또 다른 오류를 준)

  • 설치는/현재 내가 무엇을 알아 내려고 노력하고있어. 나는이 방법을 "버리고"셀레늄으로 데이터를 추출하려고 시도하지만 이것은 매우 느리게 작동 할 것이다.

    어떤 아이디어가 있습니까?

  • +0

    아마 파이썬이나 SSL 라이브러리 설치에 문제가있을 수 있습니다. 테스트 할 http 엔드 포인트를 포함하여 예제 코드를 게시하십시오. 재현하기 쉬운 것을 게시하면 도움을 줄 수 있습니다. –

    답변

    0

    당신이 직면 한 오류가 특정 버전입니다. 3.5 버전이라고 생각합니다. 다른 버전을 설치하려고 시도하십시오. 또는 문제 해결을위한 해결책이 아닌 오히려 해결 방법을 시도해보십시오. pyssl 또는 모든 종류의 ssl을 사용하는 대신. 이와 같이 요청하십시오.

    cj = CookieJar() 
    opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) 
         opener.addheaders = [('User-agent', 'Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.27 Safari/537.17')] 
    sou = opener.open(url).read() 
    

    여기 URL은 의도 된 대상입니다. Sou는 페이지의 소스 코드를 보유하게됩니다. 그런 다음 Beautifulsoup를 사용하거나 다시 원하는 데이터를 가져옵니다. 희망 하시겠습니까?

    관련 문제