웹 사이트에 로그인하고 레일스 조치로 보안 페이지로 리디렉션하려고합니다. 내 코드는 다음과 같습니다.ruby를 사용하여 브라우저에 로그인 세션 쿠키 저장 mechanize
def redirect_to_external
agent = Mechanize.new
page = agent.get('http://example.com/home.asp')
login_form = page.form_with(:name => "loginForm")
login_form.login = 'username'
login_form.password = 'password'
agent.submit(login_form)
#cookies = agent.cookie_jar.store.map {|i| i} #need to store the cookie with a specific in browser
redirect_to('http://example.com/admin.asp') #page behind password protection
end
로그인 배경에 성공하지만, 세션 쿠키는 브라우저에 저장되지 않기 때문에 관리자 페이지로 실제 리디렉션, 브라우저에서 인증을 다시 요구하고있다. cookie_jar
에서 쿠키를 저장하려고 시도했지만 정확한 방법을 찾을 수 없습니다. 누군가가 나를 도울 수 있습니까?
에이전트를 인스턴스 var로 만들거나 redirect_to로 전달하십시오. 쿠키가있어 저장하지 않아도됩니다. – pguardiario
감사합니다. 그러나 @agent = Mechanize.new가 작동하지 않았습니다. 또한 redirect_to가 에이전트를 매개 변수로 사용하지 않습니다. 그걸 보여줄 수 있습니까? – Vijendra
나는 자만하지 않고 너를 도울 줄 모른다. Mechanize 객체를 여러분의 메쏘드의 지역 변수로 인스턴스화하지 않아야하는 이유에 대해 생각해보십시오. (힌트 - 오래 걸리지 않을 것입니다.) – pguardiario