2013-06-17 1 views
1

제 업무에서 ethics.ga.gov의 내 상태에 대한 캠페인 공개 보고서를 자주 검토해야합니다. 그러나, 국가 시스템은 내가 다루어 본 가장 안전한 웹 애플리케이션 중 하나입니다.ASP 서버에서 캠페인 공개 보고서 다운로드를 자동화하려고하지만 중요한 데이터를 처리하기 위해 암호화 된 __VIEWSTATE를 사용합니다

보고서 당 기여도 데이터 만 제공합니다. 선거주기마다 6 개의 보고서가 있습니다. 그리고 상해에 모욕을 추가하기 위해, 시스템은 느립니다. 파일을 다운로드해야 할뿐만 아니라 생성 할 시간을 기다려야합니다.

이것은 프로세스를 자동화하는 분명한 기회입니다. 내가 계획 한 일은 모든 공개 보고서에 링크 된 페이지의 URL을 입력 할 수있는 프로그램을 작성하는 것이며, 모든 기여 보고서를 다운로드합니다.

주어진 후보자의 경우이 페이지에 대한 링크 (예 : 보고서 링크는 '캠페인 참여 보고서'라는 드롭 다운 목록에 있음) - http://media.ethics.ga.gov/Search/Campaign/Campaign_Name.aspx?NameID=5753&FilerID=C2009000086&Type=candidate을 입력합니다. 그런 다음 보고서 페이지에 대한 링크를 따라하고 기여 페이지에 대한 링크를 따라 가며 csv 파일을 다운로드 할 계획입니다. 일단 내가 csv 파일을 가지고 있다면 (나는 생각한다)이 프로젝트는 코딩 능력의 범위에있다.

지금 당장 붙어있는 문제는 뷰 보고서 링크를 따르는 방법을 파악할 수 없다는 것입니다. 시스템은 ASP로 작성됩니다. 링크는 "보고서보기"정렬 호출로 자바 스크립트 다시 게시 함수를 호출합니다. ctl02는 컨트롤의 식별자입니다. 해당 컨트롤 식별자를 필요한 URL (이 경우 http://media.ethics.ga.gov/search/Campaign/Campaign_ReportOptions.aspx?NameID=5753&FilerID=C2009000086&CDRID=85776)에 매핑하는 정보는 암호화 된 __VIEWSTATE 필드에 포함되어있는 것으로 보입니다.

그런 방식으로 데이터를 가져오고 시도하기 위해 Firebug 디버거를 설치했습니다. Firebug를 처음 사용하는 동안 알 수있는 것은 넷 탭에서 필요한 URL에 GET 요청을 표시한다는 것입니다.

분명히, 어떻게 든 내 브라우저가 자동으로 가능해야한다는 것을 의미하는 다음 페이지를 얻고 있습니다. 그러나 나는 이제 손실에 처해 있습니다. 나는 파이썬으로이 작업을 해왔다. 정말 좋아하기 시작했기 때문에 모든 것이 협상 가능하다. 나는 Mac에서 (전체 gnu 환경에서)이 일을하고 익숙한 환경에서 작업을 계속하는 것을 선호하지만, 그 경로를 가야한다면 Visual C++ '10이있는 Windows XP VM이 있습니다.

어떻게 생각하십니까?

+0

'보고서보기'가있는 페이지로 연결되는 '캠페인 기여 보고서'를 찾을 수없는 것 같습니다. – Aya

+0

일반 텍스트로 복사 된 링크. 캠페인 기여 보고서 페이지에 대한 링크를 추가하도록 수정되었습니다. – Jeff

+1

어. 저건 더럽다. 웹 사이트 운영자에게 연락하여 데이터에 액세스하는 대체 수단을 제공 할 수 있는지 확인해 보셨습니까? – Aya

답변

0

데이터가 암호화 된 __VIEWSTATE에없는 것으로 나타났습니다. Firebug가 리디렉션에서 지우는 POST 작업이있었습니다 (항목을 지우지 않도록 설정 했음에도 불구하고). Chrome 개발자 콘솔에서 실행했는데 POST 데이터를 캡처하고 애플리케이션에서 POST 작업을 복제 할 수있었습니다. 그게 나에게 내가 찾고있는 URL을 가지고있다.

감사합니다.