2009-12-12 1 views
4

Perl에서 웹 플로우의 일부를 수행 한 다음 나머지 세션을 Firefox로 전송할 수 있습니까?
지금 당장 500을 반환하는 웹 사이트에 Perl을 사용하여 로그인 한 다음 성공적인 로그인을 위해 인증 된 세션을 Firefox로 전송해야 정상적인 탐색을 계속할 수 있습니다. 이것이 가능한가?
이것이 가능한 경우 어떻게해야합니까? 쿠키/세션 등을 어떻게 전송할 수 있는지에 대해 몇 가지 리소스를 가르쳐 주시겠습니까?Firefox와 Perl간에 세션을 자동화하고 공유하려면 어떻게해야합니까?

답변

6

내게는 파이어 폭스에서 모든 것을하는 것이 더 합리적이고 외부에서 제어하는 ​​것 같다. MozRepl (FF 확장자) 및 MozRepl (Perl 모듈)이 도움이 될 수 있습니다.

2

까다 롭습니다. 이 아닌 서버를 사용하여 서버를 타사 서비스에 로그인 한 다음 세션 쿠키를 사용자에게 제공하고 타사 응용 프로그램으로 리디렉션 할 수 있습니다. 쿠키는 도메인에 고유하며 도메인은 다른 도메인의 쿠키에 액세스하거나 다른 도메인에서 설정할 수 없으므로 작동하지 않습니다.

서비스가 타사 서비스에 대한 인터페이스로 작동해야하므로 사용자 서버에서 사용자 세션을 유지해야합니다. 이 사용자 세션은 사용자를 추적하고, 타사 서비스에 로그인하며, 필요할 때 타사 서비스에 요청합니다. 서버상의 세션은이 제 3 자 서비스를위한 http 클라이언트가 될 것이므로 브라우저를 모방 한 것과 같이 정확하게 쿠키를 처리 할 수 ​​있어야합니다.

사용자 세션을 설정하고 유지 관리하는 데에는 많은 도움이되는 CPAN 모듈이 있습니다.

펄에 사용자 세션 관리에 대한 추가 정보를 원하시면, https://web.archive.org/web/1/http://articles.techrepublic%2ecom%2ecom/5100-10878_11-1044683.html

편집을 참조하십시오 일부 웹 서비스 클라이언트가 쿠키를 거부 할 때 URL에 세션 ID를 주입하여 사용자 세션을 관리 할 수 ​​있습니다. 타사 서비스에서이 작업을 수행 할 경우 사용자의 리디렉션으로 로그인 응답 URL을 제공 할 수 있습니다. 그러나 세션이 IP에 바인딩되어 있으면이 작업이 중단됩니다.

+1

왜 이렇게 할 수 없습니까? Perl 스크립트는 Firefox 쿠키 파일을 사용하고 동일한 쿠키 파일에 저장된 새로운 쿠키를 저장 한 다음 Firefox를 다시 시작하여 동일한 쿠키 파일을 사용합니다. 나는 이것을 때때로한다. 그래서 나는 많은 HTTP :: Cookies 모듈을 쓴 사람이다. –

+0

@ 브라이언 : 나는 그 질문을 오해했을지도 모른다. 나는 그가 다른 서비스에 로그인 한 웹 서비스에 대해 이야기하고 있다고 생각하고 세션을 사용자에게 전송했다. –