Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Apache httpclient does not exist. Error

Hi I keep getting an errors enter image description here

test.java:15: package org.apache.commons.httpclient does not exist
import org.apache.commons.httpclient.Cookie;
                                ^
test.java:16: package org.apache.commons.httpclient does not exist
import org.apache.commons.httpclient.HttpState;
                                ^
test.java:17: package org.apache.commons.httpclient does not exist
import org.apache.commons.httpclient.HttpClient;
                                ^
test.java:18: package org.apache.commons.httpclient.methods does not exist
import org.apache.commons.httpclient.methods.GetMethod;
                                        ^
test.java:22: cannot find symbol
symbol  : class HttpClient
location: class test
            HttpClient client = new HttpClient();
            ^
test.java:22: cannot find symbol
symbol  : class HttpClient
location: class test
            HttpClient client = new HttpClient();
                                    ^
test.java:26: cannot find symbol
symbol  : class GetMethod
location: class test
            GetMethod method = new GetMethod("https://online.investools.com/authentication/auth.iedu");
            ^
test.java:26: cannot find symbol
symbol  : class GetMethod
location: class test
            GetMethod method = new GetMethod("https://online.investools.com/authentication/auth.iedu");
                                   ^
test.java:29: cannot find symbol
symbol  : class Cookie
location: class test
                              Cookie[] cookies = client.getState().getCookies();
                              ^
test.java:31: cannot find symbol
symbol  : class Cookie
location: class test
                                    Cookie cookie = cookies[i];
                                    ^
10 errors

to compile I used

javac -cp ;./httpclient-4.2.jar;jsoup-1.6.3.jar test.java

and this is the code

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import org.apache.commons.httpclient.Cookie;  
import org.apache.commons.httpclient.HttpState;  
import org.apache.commons.httpclient.HttpClient;  
import org.apache.commons.httpclient.methods.GetMethod; 


public class test{
public static void main (String []args)throws IOException{
    HttpClient client = new HttpClient();  
    client.getParams().setParameter("username", "SomeUSER");  
    client.getParams().setParameter("password", "GF@QT#$WE");  

    GetMethod method = new GetMethod("https://online.investools.com/authentication/auth.iedu");  
        try{  
              client.executeMethod(method);  
              Cookie[] cookies = client.getState().getCookies();  
              for (int i = 0; i < cookies.length; i++) {  
                Cookie cookie = cookies[i];  
                System.err.println(  
                  "Cookie: " + cookie.getName() +  
                  ", Value: " + cookie.getValue() +  
                  ", IsPersistent?: " + cookie.isPersistent() +  
                  ", Expiry Date: " + cookie.getExpiryDate() +  
                  ", Comment: " + cookie.getComment());  
                }  
              client.executeMethod(method);  
        } 
        catch(Exception e) {  
          System.err.println(e);  
        } 
        finally {  
          method.releaseConnection();  
        }

I am very confused and don't know what I'm doing wrong. I think it is simple, but I have checked several times and it exists and jsoup compiles fine. Thanks

like image 422
user1093111 Avatar asked Jun 11 '12 19:06

user1093111


2 Answers

I believe you want org.apache.http.client if you're using HttpClient 4.2 (which it looks like you are). The org.apache.commons.httpclient package is for the older version.

EDIT: Not all the classes which were in httpclient are now in http.client; some are just in http. Additionally, other changes are required - for example, HttpClient is now an interface, so you can't instantiate it like that. Basically, you've got 3.x code, so you should either update it to 4.x or use the 3.x jar files.

like image 192
Jon Skeet Avatar answered Sep 25 '22 02:09

Jon Skeet


i found my missing version from here: http://mvnrepository.com/artifact/commons-httpclient/commons-httpclient

dependencies {
    compile 'commons-httpclient:commons-httpclient:3.1'
}
like image 22
itzhar Avatar answered Sep 27 '22 02:09

itzhar