나는 몇 가지 테스트 코드가 난 보통 브라우저를 통해 수행 할 작업 수행 urllib2를 사용 (A 웹 애플리케이션의 일부로서) : virtualenv의 설명 할 수없는 Urllib2 문제입니다.
- 로그인
- 는 3 가지 기계, 파이썬의 다른 버전하지만 동일한 모든에 (--no-사이트 패키지) 나는 4 별도의 깨끗한 virtualenvs을 만들었습니다
형태로 작성하여 POST를 수행 패키지 (pip 요구 사항 파일을 통해), 코드 o nly는 로컬 개발 컴퓨터 (2.6.1 및 2.7.2)의 두 가상 장치에서 작동합니다. - 내 프로덕션 VPS 중 하나에서 작동하지 않습니다.
실패한 경우 성공적으로 로그인 할 수 있습니다. 올바른 페이지이지만 양식을 제출할 때 원격 서버에서 오류가 발생했다는 응답을 보냅니다. 응용 프로그램 서버 오류 페이지 ('요청을 완료하지 못했습니다')이고 웹 서버 오류는 아닙니다. 나는 성공적으로 로그인하고, 두 번째 페이지로 기동 할 수 있기 때문에
- ,이 세션이나 쿠키 문제가 될 것 같지 않습니다 - 나는의 작업을 수행 할 수 있기 때문에 최종 POST
- 특히입니다 정확히 같은 헤더와 데이터를 가진 특정 머신, 이것은 다른 회사에서 빌린 두 개의 개별 VPS에서 코드를 테스트하려고하기 때문에 내가 요청/게시하는 내용에 문제가있는 것 같지 않습니다.
- VPS 물리적 환경에 문제가있다
- 코드가 2 개의 다른 파이썬 버전에서 작동하기 때문에, 나는 incompa 인 것을 상상할 수 없다. 질 나쁜 문제
나는 왜 이것이 작동하지 않는지에 관해서는 완전히 알 수 없다. 나는 그 문제가 무엇인지를 알 수 없기 때문에 '돌이켜 보았고 다시 켜는'일조차했습니다.
나는 그것이 원격 서버가 좋아하지 않는 VPS에서 오는 최종 POST와 관련이 있다고 생각하지만, 그게 무엇인지 알 수는 없다. URLlib의 후드 아래에서 원격 서버가 응답을 거부하게 만드는 문제가있는 것처럼 느껴집니다.
내 작업 로컬 복사본에 있으며 원격으로 작동하지 않는, 그래서에서 원래 함께 할 수있는 뭔가가되어야하므로, 나는 VPS에 동일한 파이썬 버전 (2.6.1)을 설치 한 편집 VPS. 어떻게 이것이 Http 요청에 영향을 미칠 수 있습니까? 그것은 더 낮은 수준인가?
VPS 또는 대상 웹 사이트에서 방화벽이 실행되고 있습니까? 쿠키를 사용하고 있습니까? 그렇다면 제대로 제작되고 있습니까? –
아니요, 두 개의 별도 VPS에서 실행 중이며 어느 쪽에도 작동하지 않지만 방화벽 뒤에 있다고 생각하지 않습니다. 나는 cookielib과 함께 쿠키를 사용하고 있습니다. 그러나 쿠키가 처음 두 작업 (로그인 및 변경 페이지)을 위해 작동하기 때문에 문제가 있다고 생각하지 않습니다. –