2012-07-14 16 views
5

मैं एक तरह से HTMLUnitHTMLUnit और हैंडलिंग कुकीज़ ("चेतावनी: कुकी को अस्वीकार कर दिया")

का उपयोग कर रहा HTMLUnit उपयोग करते हुए मेरे WordPress साइट में प्रवेश करने की कोशिश कर रहा हूँ, लेकिन मैं यह कर सकते हैं कुकीज़ (सभी कुकी) को स्वीकार करने के लिए देख रहा हूँ 'टी प्रपत्र सबमिट (और वजह प्रवेश नहीं कर सकते), तो कुकी को अस्वीकार कर दिया जाता है के रूप में मेरे त्रुटि है:

जुला 14, 2012 10:42:24 org.apache.http.client.protocol.ResponseProcessCookies processCookies चेतावनी : कुकी अस्वीकार:

कोड:

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(); 
    } 
} 

यह कोड वर्डप्रेस फॉर्म को भरने/जमा करने के कार्य को छोड़कर है क्योंकि यह प्रासंगिक प्रतीत नहीं होता है।

वेब पर खोज करते समय मुझे केवल 1 या 2 वाउगू उत्तर मिल सकते हैं जहां मुझे "http.client.protocol.ResponseProcessCookies" कक्षा को संशोधित करना चाहिए, लेकिन मुझे आशा है कि इसे इसके बिना किया जा सकता है।

इसके अलावा, मैं बहुत ज्ञान जब यह कुकीज़/cookiemanagers मेरे साथ इतना नंगे :)

+0

शायद यह चर्चा मदद करेगी। हालांकि Htmlunit संबंधित कॉन्फ़िगरेशन का पर्दाफाश नहीं कर सकता है। http://stackoverflow.com/questions/7459279/httpclient-warning-cookie-rejected-illegal-domain-attribute – Paddy

उत्तर

0

आप सवाल का जवाब है here

आप CookieManager वर्ग से बनाना करने के लिए आता नहीं है। विधि public synchronized Set<Cookie> getCookies(final URL url) विधि खोजें और if (spec.match(cookie, cookieOrigin)) पर कथन हटाएं।

संबंधित मुद्दे