2017-05-22 28 views
0

EDIT : 문제가 해결되었으므로 답변에있는 링크를 참조하십시오.PythonAnywhere에서 요청을 사용할 때 "호스트 이름이 일치하지 않습니다."

저는 XMLHttpRequest AJAX API를 사용하여 다른 웹 사이트의 데이터를 PythonAnywhere의 Google 서버로 보냅니다. 웹 사이트에 따라, 하나 우리는 성공적으로 보내거나 우리는 같은 코드가로드되는 경우에도이 오류

POST https://canecto.pythonanywhere.com/api/ 500 (Internal Server Error) 

를 얻을 : 이상한 뭔가 문제가 발생합니다. Chrome에서 수동으로 요청을 열고 자바 스크립트 콘솔을 통해 데이터를 보내려고했지만 아무 것도 변경되지 않았습니다.

var url = "https://canecto.pythonanywhere.com/api/"; 
var xmlHttpPost = new XMLHttpRequest(); 
xmlHttpPost.open("POST", url, true); 
xmlHttpPost.setRequestHeader("Content-type", "application/json"); 

var postData = { 
    page_url: window.location.href, 
    time_on_page: activeTime, 
    cookie: cookie, 
    /* some variables */ 
}; 
xmlHttpPost.onreadystatechange = function() { 
    if (xmlHttpPost.readyState == 4 && XMLHttpRequest.DONE) { 
      console.log(''); 
    } 
}; 

/* send data */ 
xmlHttpPost.send(JSON.stringify(postData)); 

내가 문제가 클라이언트 측 자바 스크립트 안 here 읽기 : 여기

처럼 니펫 보이는 방법이다.

enter image description here

가 나는 그것이 관련된 것이 될 수 Python request library에서 읽을 : 나는 (I 페이지에 액세스하려고) 라인 requests.get(page_url, headers=HEADER, timeout=10) 내가이 로그를 얻기 위해, 서버 측에서 검사 할 경우

SSL 검증까지는,하지만 그것에 대해서는 거의 알려지지 않았습니다. 다른 유사한 질문을 시도했지만 대답을 찾지 못했습니다.

아무도 비슷한 것을 경험하고 성공적으로 해결 했습니까?

+0

나는 [이 답변] (http://stackoverflow.com/a/18579484/4146521)에서 흥미로운 것을 발견 한 것처럼 보입니다.하지만 일단 작업이 요구 사항을 설치했는지 확인해야합니다. –

답변

2

여전히 파이썬을 사용하는 사람 < 2.7.9 : this answer 나를 위해 일했습니다. SNI는 Python 2에서 지원되지 않으므로 SSL 인증 확인을 사용하여 요청을 수행하려면 these requirements과 같은 대답을 따라야 함을 의미합니다.

+2

"이 지침"404. – rschwieb

+0

@rschwieb 불행히도 URL은 없어졌지만 원래 작성한 설명과 연결되었습니다. 거기에서 작동하기위한 요구 사항을 찾을 수 있습니다. –