문제

Python 스크립트를 사용하여 Hot Banana의 컨텐츠 관리 시스템을 사용하여 PDF 파일을 웹 사이트에 업로드하려고합니다. 사이트에 성공적으로 로그인하여 로그 아웃 할 수 있지만 파일 업로드를 작동시킬 수는 없습니다.

파일 업로드는 게시물을 통해 양식 데이터 및 PDF 파일을 제출하는 대규모 복잡한 웹 양식의 일부입니다. Firebug 및 Tamper Data Extensions와 함께 Firefox를 사용하여 브라우저가 게시물에서 보내는 내용과 어디로 가고 있는지 엿볼 수있었습니다. 브라우저가 코드로 보내는 데이터를 모방했다고 생각하지만 여전히 문제가 있습니다.

쿠키, PDF를 인코딩하기위한 포스터, urllib 및 urllib2를 처리하기 위해 Cookielib를 가져오고 요청을 구축하여 URL로 보냅니다.

포스터 오프너를 등록하면 쿠키 프로세서 오프너가 클로 브러 일할 수 있습니까? 내가 이것을 완전히 잘못하고 있습니까?


편집 : 프로세스를 디버깅하는 좋은 방법은 무엇입니까? 현재 텍스트 파일에 urllib2 응답을 버리고 출력을 검사하여 파일 업로드를 수동으로 업로드 할 때 얻는 내용과 일치하는지 확인합니다.

편집 2 : Chris Lively는 내가받는 오류를 게시 할 것을 제안했습니다. urllib2의 응답은 예외를 생성하지 않지만 다시 반환합니다.

<script>
    if (parent != window) { 
        parent.document.location.reload(); 
    } else { 
        parent.document.location = 'login.cfm'; 
    }
</script>

나는 그것을 계속할 것이다.

도움이 되었습니까?

해결책

[웹 서비스] 프로세스를 디버그하는 좋은 방법은 무엇입니까?"

현재 텍스트 파일에 urllib2 응답을 버리고 출력을 검사하여 파일 업로드를 수동으로 업로드 할 때 얻는 내용과 일치하는지 확인합니다.

옳은. 그게 전부입니다.

HTTP는 매우 간단한 프로토콜입니다. 요청 (이 경우 게시물)을 작성하고 서버가 응답합니다. 디버깅하는 동안 할 수있는 일이 많지 않고 더 이상 할 수 없습니다.

또 무엇을 원하십니까? 진지하게. 이러한 종류의 무국적 프로토콜에 어떤 종류의 디버거가 존재할 수 있습니까?

다른 팁

같은 도구 Wireshark Firefox 플러그인보다 훨씬 낮은 수준에서 더 완전한 추적을 제공합니다.

종종 이것은 컨텐츠 유형을 올바르게 설정하지 않거나 컨텐츠 길이를 포함하지 않는 것만 큼 간단 할 수 있습니다.

클라이언트 측에서 이것을 디버깅하려고하는 대신 서버가 왜 실패했는지 확인하기 위해 서버를 사용하는 것이 좋습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top