HtmlUnit çerezlerini bir dosyaya kaydetmek istiyorum ve bir sonraki çalıştırmada bunlardan yükle. Bunu nasıl yapabilirim? Teşekkürler.HtmlUnit çerezleri bir dosyaya nasıl kaydedilir?
11
A
cevap
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
Yukarıdaki kod HtmlUnit'in yani ihracat sadece HtmlUnit'in sözümüze tarafından okunabilir bir formatta (Im eleştiren ya da bir şey değil) ile çalışır. İşte
bir daha genel bağlıdır: (Bu kıvrılma ile çalışır)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() + ";");
}
Şimdi, döngü bu println (ler) dışında Dize olun. Onları bir metin dosyasına yaz. Kıvrık
çalışır:
curl -b "path to the text file" "website you want to visit using the cookie"
-b çok .. bukle dokümanlar kontrol -c ile değiştirilebilir ...
İlgili konular
- 1. Nesne bir dosyaya Delphi'de nasıl kaydedilir?
- 2. UIImage, NSFileManager ile dosyaya nasıl kaydedilir?
- 3. htmlunit -Java
- 4. Bitmap simgesi nasıl kaydedilir?
- 5. Alamofire tüm çerezleri temizle
- 6. JFileChooser kullanarak dosya nasıl kaydedilir?
- 7. Çerezleri kodlayıcıya nasıl gösterebilirim?
- 8. HtmlUnit kaynağını görüntülemek için
- 9. R bir data.frame nasıl kaydedilir?
- 10. HTMLUnit, AngularJS ile çalışmaz
- 11. Bir Chrome Uzantısında ses nasıl kaydedilir?
- 12. Python: Nasıl bir mechanize çerezleri dökümü.
- 13. htmlunit: tamamen yüklenmiş bir sayfayı geri yükle
- 14. Struts2 portlet çerezleri kullanarak çerezleri oku CookieInterceptor
- 15. HtmlUnit css düzgün uygulanmamış
- 16. HtmlUnit sürücüsü JavaScript'i çalıştırmaz.
- 17. Rails uygulamasının tek boynuzlu atı çalışanı nasıl farklı bir dosyaya kaydedilir?
- 18. bir dosyaya
- 19. UIWebView'ın tüm çerezleri nasıl silinir?
- 20. HtmlUnit, gönder düğmesine tıklamadan nasıl form gönderilir?
- 21. HEAD isteği HtmlUnit ile nasıl gönderilir?
- 22. String'den HtmlUnit HTMLPage nesnesi nasıl oluşturulur?
- 23. HTMLUnit sürücüsünü Python'dan Selenium ile nasıl kullanırım?
- 24. HTMLUnit ile görüntüden URL'ye kaydetme
- 25. Bir sabit bekleyeceği bir parametre nasıl kaydedilir
- 26. Belirli bir alana Selenyum/Webdriver/HtmlUnit kısıtlaması
- 27. CURL Çerezleri Kaydetmez (PHP)
- 28. htmlunit java değiştir giriş metni
- 29. HtmlUnit JavaScript yönlendirmelerini yönetebilir mi?
- 30. FileBytes bir dosyaya nasıl dönüştürülür?
Ben daha fazla insan sizin gibi yorumladı diliyorum. Basit. Soruyu cevaplar. Parlak. Çok teşekkür ederim! – David
htmlunit 2.23 'wc.getCookieManager(). AddCookie (i.next());' bir sonraki istekte Çerezlerin gönderilmesine neden olmadı (_com.gargoylesoftware.htmlunit.Webclient_ ve _com.gargoylesoftware kodunun kontrol edildi. htmlunit.WebRequest_, CookieManager orada kullanılmamaktadır). Çerezleri yeni bir İstekle (ör. WebRequest'i manuel olarak oluşturma) geçmek için yalnızca [bu yanıtı] kullanabilirim (http://stackoverflow.com/a/36155793/2039709). – user2039709