`
zhengaihua
  • 浏览: 21560 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

HttpClient

 
阅读更多
public class MainActivity extends Activity {

	private EditText et_content;

	private String path = "http://op.juhe.cn/robot/index";

	private String getPath;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		et_content = (EditText) findViewById(R.id.et_content);
	}

	public void getMethod(View v) {
		// get请求
		// http://op.juhe.cn/robot/index?info=你好&key=您申请到的APPKEY

		String content = et_content.getText().toString().trim();
		// 定义请求路径
		try {
			getPath = path + "?info=" + URLEncoder.encode(content, "utf-8")
					+ "&key=65e2651ed3d6c03fb7172df8059578b8";
		} catch (UnsupportedEncodingException e1) {
			e1.printStackTrace();
		}

		new Thread() {
			public void run() {
				try {
					// 面向对象思想
					// 创建客户端对象
					HttpClient httpClient = new DefaultHttpClient();
					// 创建get对象-指定路径
					HttpGet httpGet = new HttpGet(getPath);
					// 执行get请求,获取相应对象
					HttpResponse httpResponse = httpClient.execute(httpGet);
					// http 200 Ok
					// 获取状态行
					StatusLine statusLine = httpResponse.getStatusLine();
					// 获取状态码
					int statusCode = statusLine.getStatusCode();
					if (statusCode == 200) {
						// 获取请求实体对象
						HttpEntity entity = httpResponse.getEntity();
						// 获取实体内容
						InputStream inputStream = entity.getContent();
						String data = StreamUtils.parseStream(inputStream);
						System.out.println("-----" + data);
					}
				} catch (Exception e) {
					e.printStackTrace();
				}
			};
		}.start();

	}

	public void postMethod(View v) {
		// 请求参数放到实体内容中

		new Thread() {
			public void run() {
				try {
					// 定义一个请求客户端对象
					HttpClient httpClient = new DefaultHttpClient();
					// 定义post请求
					HttpPost httpPost = new HttpPost(path);
					// 创建存放键值对的集合
					List<BasicNameValuePair> parameters = new ArrayList<BasicNameValuePair>();
					//添加参数
					parameters.add(new BasicNameValuePair("info", et_content
							.getText().toString().trim()));
					parameters.add(new BasicNameValuePair("key", "65e2651ed3d6c03fb7172df8059578b8"));

					// 创建一个通过url编码过的表单对象
					HttpEntity entity = new UrlEncodedFormEntity(parameters,
							"utf-8");
					// 设置post请求的实体对象
					httpPost.setEntity(entity);
					//执行post请求获取相应对象
					HttpResponse httpResponse = httpClient.execute(httpPost);
					if(httpResponse.getStatusLine().getStatusCode()==200){
						InputStream inputStream = httpResponse.getEntity().getContent();
						String data = StreamUtils.parseStream(inputStream);
						System.out.println("----"+data);
					}
				} catch (Exception e) {
					e.printStackTrace();
				}
			};
		}.start();

	}

 

分享到:
评论

相关推荐

    httpclient.jar包下载

    《深入解析httpclient.jar及其与code.jar的关联》 在Java开发中,HTTP通信是不可或缺的一部分,而Apache HttpClient库正是Java实现HTTP客户端操作的重要工具。本文将深入探讨httpclient.jar包,以及它与code.jar包...

    HttpClient4.2.1版本的Jar包

    HttpClient 4.2.1版本引入了一些重要的改进和修复,以提高性能和稳定性。以下是一些关键特性: 1. **连接管理**:HttpClient 4.2.1引入了更完善的连接管理机制,允许开发者控制连接的创建、复用和关闭。`...

    HttpClient 3.x to HttpComponents HttpClient 4.x

    例如,在HttpClient 3.x中,代码可能会使用`***mons.httpclient.HttpClient`类和`***mons.httpclient.methods.GetMethod`等,而在4.x版本中,这些都被新的API所替代。程序员需要熟悉`org.apache....

    httpclient-4.2.5-API文档-中文版.zip

    赠送jar包:httpclient-4.2.5.jar; 赠送原API文档:httpclient-4.2.5-javadoc.jar; 赠送源代码:httpclient-4.2.5-sources.jar; 赠送Maven依赖信息文件:httpclient-4.2.5.pom; 包含翻译后的API文档:httpclient...

    httpclient4.2.1.zip

    本文将深入探讨HttpClient 4.2.1的核心特性和使用方法,帮助开发者更好地理解和应用这个强大的工具。 一、HttpClient简介 HttpClient是一个开放源码的Java库,由Apache软件基金会维护。它为Java程序员提供了一个...

    httpClient

    HttpClient httpClient = new HttpClient(); // 设置 Http 连接超时为5秒 httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(5000); /* 2 生成 GetMethod 对象并设置参数 */ GetMethod ...

Global site tag (gtag.js) - Google Analytics