我正在尝试创建使用org.apache.commons.httpclient包的应用程序。为此,我下载了org.apache.commons.httpclient.jar并将其放在项目内的\libraries文件夹中。然后通过项目结构将其添加为库。但是,当我运行我的程序时,它会抛出java.lang.NoClassDefFoundError:org/apache/commons/logging/LogFactory HttpClient client = new HttpClient();
将非常感谢任何形式的建议。
import java.math.BigInteger;
import java.security.MessageDigest;
import java.io.*;
import javax.xml.parsers.DocumentBuilderFactory;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class Crawler {
public static void main(String[] args) throws Exception {
String key = "5485fd7342c54e2ef3640cc94f71056b";
String secret = "1d4cb8b3br1d3x4b";
String methodGetFrob = "flickr.auth.getFrob";
String sig = secret + "api_key" + key + "method" + methodGetFrob;
String signature = DigestUtils.md5Hex(sig);
String request = "http://api.flickr.com/services/rest/?method=" + methodGetFrob + "&api_key=" + key + "&api_sig=" + signature;
HttpClient client = new HttpClient();
GetMethod method = new GetMethod(request);
int statusCode = client.executeMethod(method);
if (statusCode != HttpStatus.SC_OK) {
System.err.println("Method failed: " + method.getStatusLine());
}
else {
System.out.println("OK");
}
}
}
我在类路径中添加了三个jar,代码对我来说非常好用。
commons-httpclient-3.1.jar
commons-codec-1.10.jar
commons-logging-1.2.jar
如果您遇到任何问题,请告诉我。