HtmlUnit 쿠키를 파일에 저장하고 다음에 실행할 때 그 쿠키를로드하고 싶습니다. 어떻게해야합니까? 감사.HtmlUnit 쿠키를 파일에 저장하는 방법은 무엇입니까?
11
A
답변
22
public static void main(String[] args) throws Exception {
LogFactory.getFactory().setAttribute("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.NoOpLog");
File file = new File("cookie.file");
ObjectInputStream in = new ObjectInputStream(new FileInputStream(file));
Set<Cookie> cookies = (Set<Cookie>) in.readObject();
in.close();
WebClient wc = new WebClient();
Iterator<Cookie> i = cookies.iterator();
while (i.hasNext()) {
wc.getCookieManager().addCookie(i.next());
}
HtmlPage p = wc.getPage("http://google.com");
ObjectOutput out = new ObjectOutputStream(new FileOutputStream("cookie.file"));
out.writeObject(wc.getCookieManager().getCookies());
out.close();
}
3
위의 코드는 HtmlUnit과 즉 수출에만 HtmlUnit과 agin 읽을 수있는 형식으로 (임 비판 또는 아무것도)에서만 작동합니다. 여기
하나 더 일반적인 것입니다 : (이 컬와 함께 작동)CookieManager CM = WC.getCookieManager(); //WC = Your WebClient's name
Set<Cookie> set = CM.getCookies();
for(Cookie tempck : set) {
System.out.println("Set-Cookie: " + tempck.getName()+"="+tempck.getValue() + "; " + "path=" + tempck.getPath() + ";");
}
이제 for 루프에서 이들에 println (들)에서 문자열을 확인합니다. 그들을 텍스트 파일에 씁니다. 곱슬
작품 :
curl -b "path to the text file" "website you want to visit using the cookie"
-b 너무 .. 컬 문서를 확인 -c 변경할 수 있습니다 ...
관련 문제
- 1. mechanize.Browser() 쿠키를 파일에 저장하는 방법은 무엇입니까?
- 2. 쿠키를 루비에 저장하는 방법?
- 3. 해시 테이블을 파일에 저장하는 방법은 무엇입니까?
- 4. Codeigniter의 언어 파일에 변수를 저장하는 방법은 무엇입니까?
- 5. Propel 객체를 파일에 저장하는 방법은 무엇입니까?
- 6. 배열을 plist 파일에 저장하는 방법은 무엇입니까?
- 7. 보안/메타 정보를 파일에 저장하는 방법은 무엇입니까?
- 8. QPixmap 개체를 파일에 저장하는 방법은 무엇입니까?
- 9. 내용을 깔끔한 정렬로 파일에 저장하는 방법은 무엇입니까?
- 10. 결과를 텍스트 파일에 저장하는 방법은 무엇입니까?
- 11. 맞춤 쿠키를 저장하는 방법
- 12. PHP로 쿠키를 저장하는 방법
- 13. 쿠키를 삭제하는 방법은 무엇입니까?
- 14. QListView 항목을 파일에 저장하는 방법
- 15. HtmlUnit 대 HttpUnit의 성능 비교
- 16. PHP 세션 쿠키를 비활성화하는 방법은 무엇입니까?
- 17. jQuery로 쿠키를 만드는 방법은 무엇입니까?
- 18. JavaScript로 쿠키를 처리하는 방법은 무엇입니까?
- 19. 특정 쿠키를 표시하는 방법은 무엇입니까?
- 20. 보안 쿠키를 편집하는 방법은 무엇입니까?
- 21. Java로 쿠키를 얻는 방법은 무엇입니까?
- 22. 업로드 된 이미지를 검색하고 JSP로 파일에 저장하는 방법은 무엇입니까?
- 23. 안드로이드의 기존 csv 파일에 새 값을 저장하는 방법은 무엇입니까?
- 24. 펄을 사용하여 엑셀 xls 파일에 데이터를 저장하는 방법은 무엇입니까?
- 25. 인터넷에서 이미지 URL을 tcpdf 파일에 저장하는 방법은 무엇입니까?
- 26. 메모리에 xml 요소를 작성한 다음 파일에 저장하는 방법은 무엇입니까?
- 27. 인쇄물 (i/j)을 출력 파일에 저장하는 방법은 무엇입니까?
- 28. XML 문서를 만들고 파일에 저장하는 가장 좋은 방법은 무엇입니까?
- 29. 자바 스크립트를 사용하여 XML 파일에 데이터를 저장하는 방법은 무엇입니까?
- 30. 파이썬 스크립트의 출력을 텍스트 파일에 저장하는 방법은 무엇입니까?
나는 더 많은 사람들이 당신처럼 주석 바랍니다. 단순한. 질문에 답합니다. 훌륭한. 정말 고맙습니다! – David
htmlunit 2.23'wc.getCookieManager(). addCookie (i.next());'는 다음 요청에서 쿠키를 전송하지 않았습니다. (_com.gargoylesoftware.htmlunit.Webclient_ 및 _com.gargoylesoftware의 코드를 확인하십시오. htmlunit.WebRequest_, CookieManager가 사용되지 않습니다.) 쿠키를 새로운 요청과 함께 전달하기 위해 [이 답변] (http://stackoverflow.com/a/36155793/2039709) 만 사용할 수 있습니다. 즉, 수동으로 WebRequest를 작성합니다. – user2039709