Sto cercando un modo per accettare i cookie (tutti i cookie) utilizzando HtmlUnitHtmlUnit e biscotti manipolazione ("ATTENZIONE: Cookie respinto")
Sto cercando di accedere al mio sito WordPress utilizzando HtmlUnit ma posso 't inviate il formulario (e per questo non si può effettuare il login) quando i cookie vengono rifiutati come il mio errore è:
14 Luglio 2012 10:42:24 PM org.apache.http.client.protocol.ResponseProcessCookies processCookies ATTENZIONE : Cookie rifiutato:
CODICE:
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();
}
}
Questo codice esclude la funzione di riempimento/invio del modulo wordpress in quanto non sembra rilevante.
Durante la ricerca sul Web ho potuto trovare solo 1 o 2 risposte di vaugue in cui dovrei modificare la classe "http.client.protocol.ResponseProcessCookies" ma spero che possa essere eseguita senza questo.
Inoltre non ho molta conoscenza quando si tratta di biscotti/cookiemanagers così nudo con me :)
Forse questa discussione aiuterà. Tuttavia, Htmlunit potrebbe non esporre la configurazione in questione. http://stackoverflow.com/questions/7459279/httpclient-warning-cookie-rejected-illegal-domain-attribute – Paddy