java - 如何正确导入类: Http Client from Apache Commons

标签 java eclipse http apache-httpcomponents

我开始学习 java,并且在使用我认为是从 Apache commons 获得的 Http 方法时遇到了难以置信的困难。我正在尝试创建一个可以在 btc-e.com 上进行比特币交易的类。

我下载了 HTTPComponents 客户端,然后将所有 .jar 文件包含在我的项目的构建路径中。但由于某种原因,Eclipse 仍然无法识别其中一些方法。具体来说,HttpUtils 无法识别。

有人可以引导我逐步完成如何在我的代码中正确包含这些类吗?我对此真的很陌生,并且花了 6 个多小时试图解决这个问题。

这是我所拥有的要点:

public static int Buyy(double rate, double amount){

    Calendar now = Calendar.getInstance();
    long nonce = ( now.getTimeInMillis()/1000);
    String api_key= " ";
    String api_secret = " ";
    // Create a new HttpClient and Post Header
    HttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost = new HttpPost("http://www.btc-e.com/tapi");

    try {
        // Add data
        HashMap params = new HashMap();
        params.put("method", "Trade");
        params.put("pair", "btc_usd");
        params.put("type", "buy");
        params.put("rate", rate);
        params.put("amount", amount);
        params.put("nonce", nonce);

        HashMap headers = new HashMap();
        headers.put("Contnent-type", "x-www-form-urlencoded");
        headers.put("key", api_key);
        headers.put("sign", api_secret);
        httppost.setEntity(new UrlEncodedFormEntity(params));

        // Execute HTTP Post Request
        HttpResponse response = httpclient.execute(httppost);

    } catch (ClientProtocolException e) {
        // TODO Auto-generated catch block
    } catch (IOException e) {
        // TODO Auto-generated catch block
    }


}

具体来说,我遇到的错误是: - 导入org.apache.http.client.methods.HttpResponse无法解析

-HttpResponse 无法解析为类型

-无法解析 org.apache.http.HttpResponse 类型。它是从所需的.class文件间接引用的

-无法解析 org.apache.http.entity.StringEntity 类型。它是从所需的.class文件间接引用的

我认为这意味着我没有导入我需要的所有文件?但我不知道该怎么做——而且我也不知道我需要哪些。我真的迷路了。

谢谢!我真的很感谢任何帮助。我正在使用 Eclipse。

这是我已经导入的内容:

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;

import org.apache.commons.codec.binary.Hex;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpResponse;
import org.apache.http.impl.client.DefaultHttpClient;

最佳答案

对于 HttpResponse 我认为导入应该是

import org.apache.http.HttpResponse;

而不是

import org.apache.http.client.methods.HttpResponse;

API 中似乎不存在第二个。

还要检查您是否已将 HttpCore 和 HttpClient 的 JAR 包含在构建路径中。

关于java - 如何正确导入类: Http Client from Apache Commons,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31876073/

相关文章:

java - 如何打印带或不带标题栏的JFrame?

java - 用java从AS400服务器获取打印机

java - 比较两个字符串的前三个字符

java - 类完成后静态变量变为 null

java - DebugPlugin.exec() 的用途

android - 禁用 Eclipse 属性时出错

c# - 如何正确将图片发布到 URL?

java - 时间戳响应错误

c++ - 不能使用 C 库(函数)

http - 如何在 IIS 中启用上传