`

java 实现 httppost 和 httpget

 
阅读更多

httpclient-4.1.1.jar
httpcore-4.2.jar
commons-logging-1.1.jar

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
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.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;


public final class TestHttpPost {


	/**
	 * 执行一个HTTP GET请求,返回请求响应的HTML
	 * 
	 * @param url
	 *            请求的URL地址
	 * @param queryString
	 *            请求的查询参数,可以为null
	 * @return 返回请求响应的HTML
	 */
	public static String doGet(String url, String name, String queryString) {
		String strResult = null;
		try {//转码
			name = URLEncoder.encode(name, "UTF-8");
			queryString = URLEncoder.encode(queryString, "UTF-8");
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		String uriAPI = "http://127.0.0.1/html4/login_mobile.php?"
				+ name
				+ "="
				+ queryString;


		DefaultHttpClient client = new DefaultHttpClient();
		HttpGet httpGet = new HttpGet(uriAPI);
		HttpResponse httpResponse;
		try {
			httpResponse = client.execute(httpGet);


			if (httpResponse.getStatusLine().getStatusCode() == 200) {
				// 第3步:使用getEntity方法获得返回结果
				strResult = EntityUtils.toString(httpResponse.getEntity());
				// 去掉返回结果中的"\r"字符,


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


		return strResult;
	}


	/**
	 * 执行一个HTTP POST请求,返回请求响应的HTML
	 * 
	 * @param url
	 *            请求的URL地址
	 * @param params
	 *            请求的查询参数,可以为null
	 * @return 返回请求响应的HTML
	 * @throws IOException
	 * @throws IllegalStateException
	 */
	public static String doPost(String url, Map<String, String> params)
			throws IllegalStateException, IOException {
		String strResult = "";
		DefaultHttpClient httpClient = new DefaultHttpClient();
		HttpPost post = new HttpPost(url);
		List<BasicNameValuePair> postData = new ArrayList<BasicNameValuePair>();
		for (Map.Entry<String, String> entry : params.entrySet()) {
			postData.add(new BasicNameValuePair(entry.getKey(), entry
					.getValue()));
			System.out.print(entry.getValue());
		}
		UrlEncodedFormEntity entity = new UrlEncodedFormEntity(postData,HTTP.UTF_8);//过时了?
		post.setEntity(entity);
		HttpResponse response = httpClient.execute(post);


		// 若状态码为200 ok
		if (response.getStatusLine().getStatusCode() == 200) {
			// 取出回应字串
			strResult = EntityUtils.toString(response.getEntity());
		}
		return strResult;
	}


	public static void main(String[] args) throws IllegalStateException,
			IOException {
		HashMap<String, String> user = new HashMap<String, String>();
		user.put("username", "admin");
		user.put("password", "123");
		String post = doPost("http://127.0.0.1/html4/login_mobile.php", user);
		String get = doGet("http://127.0.0.1/html4/login_mobile.php", "name",
				"admin");
		System.out.println("Post:" + post);
		System.out.println("Get:" + get);
	}
}


分享到:
评论

相关推荐

    java实现httpget和httppost请求httpclient-4.3.1.jar包

    利用httpclient-4.3.1.jar、httpcore-4.3.jar包,很简单的用java实现httpget和httppost请求。

    java实现httpget和httppost请求jar包

    利用这两个jar包,很简单的用java实现httpget和httppost请求。

    httppost和httpget需要的jar包

    1. `httpclient.jar`:这是HttpClient的主要库,提供了HTTP请求和响应处理的类和接口,包括`HttpClient`、`HttpGet`和`HttpPost`等。 2. `httpcore.jar`:这是HttpClient的核心库,包含了网络通信的基本组件,如...

    JAVA 调用HTTP接口POST或GET实现方式

    JAVA 调用HTTP接口POST或GET实现方式,java通用

    java发送http/https请求(get/post)Demo,亲测可用

    这里我们将深入探讨如何使用Java发送GET和POST请求,以及处理JSON数据。 首先,让我们关注GET请求。GET请求主要用于从服务器获取资源,其参数通常包含在URL中。在Java中,可以使用`HttpURLConnection`类或者第三方...

    Java实现HTTP(GET、POST)请求

    总的来说,Java中实现HTTP GET和POST请求涉及到网络连接、数据传输和解析响应等关键步骤。通过使用标准Java库或第三方库,开发者可以方便地处理各种复杂的网络请求场景。在实际项目中,根据需求选择合适的方法和工具...

    java通过HTTP调用接口(Get请求和Post请求)

    java调用HTTP接口(Get请求和Post请求)

    java 实现get,post请求

    总结,Java实现HTTP的GET和POST请求主要依赖于`HttpURLConnection`类。GET请求简单,直接连接并读取响应;POST请求需要设置输出,并写入请求数据。在处理网络请求时,我们还需要关注网络状态、超时、重试策略等问题...

    java后台实现 get post 提交.zip

    以上代码展示了如何在Java后台实现GET和POST请求的基本过程。在实际应用中,我们通常会使用框架如Spring MVC,它提供了更高级的抽象,使得处理HTTP请求变得更加便捷。Spring MVC允许我们定义控制器方法,这些方法...

    javaHttp的get与post自带api简单实现

    javahttp的简单使用。javaHttp的get与post自带api简单实现。java get post的使用记录

    完整的HttpClient的get和post使用方法实例(java源代码)

    在HttpClient中,我们可以使用`HttpPost`类来实现。以下是一个简单的POST请求示例: ```java import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient...

    java http 接口调用 的get和post传参方法

    java实现调用httpclient接口的类和方法,包括了get和post传参方式,简单易懂

    HttpClient发送http请求(post和get)需要的jar包+内符java代码案例+注解详解

    这个压缩包可能包含了实现HTTP GET和POST请求所需的jar包以及示例代码,帮助开发者理解如何使用HttpClient进行网络通信。下面将详细介绍HttpClient库,HTTP请求的基本概念,以及GET和POST方法的差异。 HttpClient是...

    java http post和get请求回调

    这些库提供了方便的方法来执行GET和POST请求,并处理响应。 以`HttpURLConnection`为例,POST请求的实现如下: ```java URL url = new URL("http://example.com"); HttpURLConnection conn = (HttpURLConnection) ...

    HttpUtils Java get post 工具类

    "HttpUtils Java get post 工具类" 提供了便捷的方法来发送GET和POST请求,简化了网络请求的操作。以下是对这两个主要HTTP方法的详细解释以及如何在Java中实现它们。 **1. GET方法** GET是HTTP中最常见的请求方法,...

    java中发送http包,包含get及post请求

    在Java编程语言中,发送HTTP请求是常见的网络通信任务,主要涉及GET和POST两种方法。GET主要用于获取资源,而POST用于向服务器提交数据。本文将详细介绍如何在Java中实现这两种HTTP请求,以及如何处理相关jar包。 ...

    Java Http发起get和post请求

    本篇将详细介绍如何在Java中使用HttpURLConnection和HttpClient库来发起GET和POST请求。 **一、HttpURLConnection使用** 1. **GET请求** 发起GET请求,首先需要建立一个URL对象,然后通过openConnection()方法...

    java发送http/https请求(get/post)代码

    本文将详细讲解如何使用Java发送GET和POST请求,以及涉及的HTTPS安全连接。 首先,理解HTTP和HTTPS的区别至关重要。HTTP(超文本传输协议)是一种用于分发超媒体信息的应用层协议,而HTTPS(超文本传输安全协议)是...

    httpClient httpPost httpGet 所需jar包

    总的来说,HttpClient是Java开发者进行HTTP通信的强大工具,而HttpPost和HttpGet是其主要的请求方式。确保正确引入并配置所需的jar包,可以让我们轻松地与Web服务进行数据交换。在实际项目中,根据需求,可能还需要...

Global site tag (gtag.js) - Google Analytics