使用HttpClient访问网路数据
来源:互联网 发布:澳门网络娱乐nb88.com 编辑:程序博客网 时间:2024/06/05 23:56
使用HttpClient访问网络数据,这里就需要我们在阿帕奇官网下载他们的jar包,操作如下:
一、进入阿帕奇的官网 apache.org
二、进入阿帕奇的官网 首页,拉到最低,找到下图指的参数,点击进入
三、左边有下载提示,点击下载
四、下载我下图所指即可
五,解压我们下载好的项目包,里面有个lib文件夹,把里面的jar文件复制到我们项目中即可
六、代码中如何使用
使用get请求数据
import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileOutputStream;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.net.HttpURLConnection;import java.net.URL;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.client.HttpClient;import org.apache.http.client.methods.HttpGet;import org.apache.http.impl.client.HttpClients;import org.apache.http.util.EntityUtils;public class HttpClientget { public static void main(String[] args) { new MyPostThread().start(); } static class MyPostThread extends Thread{ //创建一个HttpClient对象 HttpClient tClient = HttpClients.createDefault(); @Override public void run() { // 使用apache(阿帕奇)的httpclient来获取网络数据 try { //使用HttpGet()来关联我们服务器的网址,这里我用百度,http:\\要加上 HttpGet hget = new HttpGet("http://fanyi.youdao.com/openapi.do?keyfrom=Xiaobaid&key=329647385&type=data&doctype=json&version=1.1&q=welcom"); HttpResponse hR = tClient.execute(hget); HttpEntity hEntity = hR.getEntity(); //返回的数据是String类型 String vulueString = EntityUtils.toString(hEntity, "UTF-8"); System.out.println(vulueString.toString()); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }}
运行结果:
2、使用post请求方式请求数据
import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileOutputStream;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.net.HttpURLConnection;import java.net.URL;import java.util.ArrayList;import java.util.List;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.client.HttpClient;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.HttpGet;import org.apache.http.client.methods.HttpPost;import org.apache.http.impl.client.HttpClients;import org.apache.http.message.BasicNameValuePair;import org.apache.http.util.EntityUtils;public class HttpClientpost { public static void main(String[] args) { new MyPostThread().start(); } static class MyPostThread extends Thread{ String url = "http://fanyi.youdao.com/openapi.do"; //创建一个HttpClient对象 HttpClient httpClient = HttpClients.createDefault(); @Override public void run() { HttpPost tClient = new HttpPost(url); // 这里就需要指定参数的数据了。我用的是我之前在有道注册的一个连接 try { //创建一个list,把后面6个参数分别以kye-value方式写入 List<BasicNameValuePair> basicNameValuePairs = new ArrayList<>(); basicNameValuePairs.add(new BasicNameValuePair("keyfrom", "Xiaobaid")); basicNameValuePairs.add(new BasicNameValuePair("key", "329647385")); basicNameValuePairs.add(new BasicNameValuePair("type", "data")); basicNameValuePairs.add(new BasicNameValuePair("doctype", "json")); basicNameValuePairs.add(new BasicNameValuePair("version", "1.1")); basicNameValuePairs.add(new BasicNameValuePair("q", "welcom")); tClient.setEntity(new UrlEncodedFormEntity(basicNameValuePairs, "UTF-8")); HttpResponse hR = httpClient.execute(tClient); HttpEntity hEntity = hR.getEntity(); //返回的数据是String类型 String vulueString = EntityUtils.toString(hEntity, "UTF-8"); System.out.println(vulueString.toString()); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }}
运行结果:
0 0
- 使用HttpClient访问网路数据
- 使用HttpClient访问网路数据
- 用HttpGet和HttpClient网路请求数据
- 使用route增加外网路由访问
- Android客户端使用HttpClient发起web数据访问
- Android客户端使用HttpClient发起web数据访问
- 使用HttpClient访问网络
- 使用HttpClient访问网络
- HttpClient包访问网络数据
- Android学习之网络请求(访问网路数据)一
- 使用httpclient提交数据
- 使用httpclient提交数据
- 使用httpClient访问指定网址
- java使用HTTPclient访问网络
- android使用httpClient访问网络
- Android使用httpclient访问http
- android基础笔记:从网路中读取数据,并显示(Thread、handler、httpclient、XmlPullParser 、BaseAdapter)
- android HttpClient访问网络获取数据
- Xcode8运行swift项目报错解决方法
- 云客Drupal8源码分析之核心处理流程HttpKernel(drupal8执行流程)
- poj_3253 Fence Repair(优先队列 / 堆)
- 五个数从小到大排列
- [linux私房菜笔记]第六章 linux文件权限与目录配置
- 使用HttpClient访问网路数据
- json
- js设计模式
- Amsterdam is shopper's paradise
- eclipse实现JavaWeb项目 增量打包
- 安卓真机测试:Installation error: INSTALL_CANCELED_BY_USER
- ubuntu Genymotion 解决虚拟镜像下载速度特别慢的问题
- iPhone微信浏览器中jQuery发起post请求无效
- java中Map,List与Set的区别