Apache httpclient不存在.错误

use*_*111 5 java apache compilation

嗨,我一直在收到错误 在此输入图像描述

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
Run Code Online (Sandbox Code Playgroud)

编译我用过

javac -cp ;./httpclient-4.2.jar;jsoup-1.6.3.jar test.java
Run Code Online (Sandbox Code Playgroud)

这是代码

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();  
        }
Run Code Online (Sandbox Code Playgroud)

我很困惑,不知道我做错了什么.我认为它很简单,但我已经检查过几次并且它存在并且jsoup编译得很好.谢谢

Jon*_*eet 8

我相信org.apache.http.client如果您使用的是HttpClient 4.2(它看起来像你).该org.apache.commons.httpclient软件包适用于旧版本.

编辑:并非现在所有的课程httpclient都在http.client; 有些人只是在http.此外,还需要进行其他更改 - 例如,HttpClient现在是一个接口,因此您无法像这样进行实例化.基本上,你有3.x代码,所以你应该将它更新为4.x或使用3.x jar文件.