2017-02-26 2 views
2

ich ein Cookie auf eine webclient hinzufügen möchten, funktioniert dieser Code als außerhalb GAE erwartet:Wie ein Cookie Htmlunit webclient auf GAE hinzufügen

WebClient webClient = new WebClient(CHROME); 
webClient.addCookie("storepath=us/en", new URL("http://www.zara.com/"), null); 

Aber auf GAE es wirft:

java.lang.IllegalArgumentException: Port may not be negative 
    at org.apache.http.util.Args.notNegative(Args.java:115) 
    at org.apache.http.cookie.CookieOrigin.<init>(CookieOrigin.java:52) 
    at com.gargoylesoftware.htmlunit.CookieManager.buildCookieOrigin(CookieManager.java:102) 
    at com.gargoylesoftware.htmlunit.WebClient.addCookie(WebClient.java:2258) 

Wie kann ich diesen Cookie auf GAE hinzufügen?

+0

Können Sie die Ausgabe von 'neuen URL ("http://www.zara.com/") .getDefaultPort()' in GAE zur Verfügung stellen? –

+0

@AhmedAshour -1 –

+0

Ich verstehe nicht, warum es auf -1 festgelegt ist –

Antwort

1

Es gab ein GAE bug darüber, möglicherweise sollten Sie dort ein neues erstellen, da es die Ursache immer noch gibt.

um es zu bekommen, können Sie:

CookieManager cookieManager = new CookieManager() { 
    protected int getPort(URL url) { 

     // or deduct it from url.getProtocol() 
     return 80; 
    } 
}; 
webClient.setCookieManager(cookieManager);