关于org.apache.http包中的HttpClient报错问题

转:https://blog.csdn.net/u014740342/article/details/53057200

          在前一段时间工作中接触到了HttpClient,之前都没听过,也就不知道怎么使用,是同事帮忙把相关的内容写出来,我才知道怎么使用能实现从网站中拿到想要的数据。

          自己在网上搜了很多,关于HttpClient的资料是有,很多关于Apache  Jakarta Common下的子项目。有看到别人的博客上提到Jakarta下的HttpClient已经快要被org.apache.htttp包下面的HttpClient替代了。

httpclient可以处理长连接,保存会话,重连接,以及请求过滤器,连接重用等等...

       翻了好久的博客终于翻到了一些关于org.apache.http包下的内容,其中有一篇是介绍了下该包下的HttpClient常规使用的方法,封装到一个类里面。在自己将该类拷到MyEclipse8.5中时,就是报了一堆无法解析org.apache.http包的异常。

如下所示:

         

       自己本以为是MyEclipse8.5里使用的jdk版本太低了,将MyEclipse8.5中的jdk版本调整到8以后还是报错,但是把该测试HttpClient类放到Intellj中并不报错(Intellj的jdk版本是8)。这样给我的错觉就是jdk版本低,添加libaray,添加路径,结果还是有错儿。

       最后自己在网上查了发现,因为org,apache.http对应的是Andriod里面的,并不是Java里面的。怪不得在查找的过程中就会有关于Andriod中使用HttpClient有问题的博客。这样简单的解决办法就是:去官网中下载需要的jar包,然后倒入到项目中去就ok了。

   此刻我就开始找apache的官网,此处会给链接:http://hc.apache.org/downloads.cgi 

    然后下载的是这款,自己下了最下面的那一款解压之后不对,最后试了第二款的就ok了。

    

      

    在解压完毕,找到相应的lib目录,在该目录下选中以下几个jar导入到myEclipse8.5中异常就消失了。

   

   选中我已经勾选的jar包导入就解决问题啦。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个使用org.apache.http.client.HttpClient上传文件的Java示例: ```java import java.io.File; import java.io.IOException; import org.apache.http.HttpEntity; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.mime.MultipartEntityBuilder; import org.apache.http.impl.client.HttpClientBuilder; import org.apache.http.util.EntityUtils; public class FileUploader { public static void main(String[] args) { String url = "http://example.com/upload"; String filePath = "/path/to/file.jpg"; HttpClient httpClient = HttpClientBuilder.create().build(); HttpPost httpPost = new HttpPost(url); MultipartEntityBuilder builder = MultipartEntityBuilder.create(); builder.addBinaryBody("file", new File(filePath)); HttpEntity multipart = builder.build(); httpPost.setEntity(multipart); try { httpClient.execute(httpPost); HttpEntity responseEntity = httpResponse.getEntity(); String responseString = EntityUtils.toString(responseEntity, "UTF-8"); System.out.println(responseString); } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } } ``` 在此示例中,我们使用HttpClient创建一个HttpPost请求对象,并使用MultipartEntityBuilder创建一个multipart/form-data实体,以便我们可以将文件作为二进制数据添加到请求中。最后,我们使用execute方法将请求发送到服务器,并从响应中提取响应字符串。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值