2012-07-14 3 views
5

HtmlUnit'in ve işleme çerezleri ("UYARI: Çerez reddedildi") Ben HtmlUnit'in kullanarak wordpress siteye giriş çalışıyorum ama elimden</p> <p>HtmlUnit'in kullanırkeçerezleri (bütün çerezler) kabul etmek için bir yol arıyorum

14 Temmuz 2012 10:42:24 org.apache.http.client.protocol.ResponseProcessCookies processCookies UYARI: çerezler reddedilir benim hata olduğu gibi 't formu gönderin (ve bunun giriş yapamıyorum) : Tanımlama bilgisi reddedildi:

CODE:

package backend; 

import java.io.IOException; 
import java.net.MalformedURLException; 
import java.util.Set; 

import com.gargoylesoftware.htmlunit.BrowserVersion; 
import com.gargoylesoftware.htmlunit.CookieManager; 
import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException; 
import com.gargoylesoftware.htmlunit.WebClient; 
import com.gargoylesoftware.htmlunit.html.HtmlPage; 
import com.gargoylesoftware.htmlunit.util.Cookie; 

public class temp { 

    WebClient myClient = new WebClient(BrowserVersion.FIREFOX_3); 
    CookieManager cm = new CookieManager(); 
    HtmlPage page; 

    public void Someting() throws FailingHttpStatusCodeException, MalformedURLException, IOException{ 

    //Disabling Javascript for now. 
    myClient.setJavaScriptEnabled(false); 
    myClient.setCssEnabled(false); 
    myClient.setCookieManager(cm); 

    page = myClient.getPage("http://nick.wordpress.com/wp-admin"); 

    Set<Cookie> cookies = myClient.getCookieManager().getCookies(); 

    System.out.println("Page status code: " + page.getWebResponse().getStatusCode() + "\nPage status message: " + page.getWebResponse().getStatusMessage()); 

    if(cookies != null) 
    { 
     for(Cookie cookie : cookies) 
     { 
      this.myClient.getCookieManager().addCookie(cookie); 
     } 
    } 

    System.out.println("We have: " + myClient.getCookieManager().getCookies().size() + " cookie"); 
    } 

    public static void main(String args[]) throws FailingHttpStatusCodeException, MalformedURLException, IOException{ 
     temp t = new temp(); 
     t.Someting(); 
    } 
} 

Bu kod, alakalı görünmediğinden, wordpress form doldurma/gönderme işlevi hariçtir.

Web'de arama yaparken "http.client.protocol.ResponseProcessCookies" sınıfını değiştirmem gereken 1 veya 2 vaugue yanıtı bulabilirdim ancak umarım bu olmadan yapılabilir. o kurabiyeler/cookiemanagers benimle çıplak :)

+0

Belki bu tartışma yardımcı olacaktır. Htmlunit, ilgili yapılandırmayı yine de göstermeyebilir. http://stackoverflow.com/questions/7459279/httpclient-warning-cookie-rejected-illegal-domain-attribute – Paddy

cevap

0

Sen sorusu Sen CookieManager sınıfını yeniden oluşturmak zorunda

here cevaplanır geldiğinde

Ayrıca ben çok bilgiye sahip değildir. public synchronized Set<Cookie> getCookies(final URL url) yöntemini bulun ve if (spec.match(cookie, cookieOrigin)) deyimini kaldırın.

İlgili konular