HttpClient get和HttpClient Post请求的方式获取服务器的返回数据



/*
 * 演示通过HttpClient get请求的方式获取服务器的返回数据
 */
public class HttpClientDemo {
	public static void main(String[] args) throws ClientProtocolException, IOException {
		String path="http://10.0.184.105:58080/ServletDemo4/LoginServlet?username=admin&password=admin";
		//1.创建客户端访问服务器的httpclient对象   打开浏览器
		HttpClient httpclient=new DefaultHttpClient();
		//2.以请求的连接地址创建get请求对象     浏览器中输入网址
		HttpGet httpget=new HttpGet(path);
		//3.向服务器端发送请求 并且获取响应对象  浏览器中输入网址点击回车
		HttpResponse response=httpclient.execute(httpget);
		//4.获取响应对象中的响应码
		StatusLine statusLine=response.getStatusLine();//获取请求对象中的响应行对象
		int responseCode=statusLine.getStatusCode();//从状态行中获取状态码
		if(responseCode==200){
			//5.获取HttpEntity消息载体对象  可以接收和发送消息
			HttpEntity entity=response.getEntity();
			//EntityUtils中的toString()方法转换服务器的响应数据
			String str=EntityUtils.toString(entity, "utf-8");
			System.out.println("服务器的响应是:"+str);
			
//			//6.从消息载体对象中获取操作的读取流对象
//			InputStream input=entity.getContent();
//			BufferedReader br=new BufferedReader(new InputStreamReader(input));
//			String str=br.readLine();
//			String result=new String(str.getBytes("gbk"), "utf-8");
//			System.out.println("服务器的响应是:"+result);
//			br.close();
//			input.close();
		}else{
			System.out.println("响应失败!");
		}
	}


}


/*
 * 演示HttpClient使用Post提交方式提交数据
 * <form action="" method="post">
 *   <input type="text" name="username" value="输入值">
 *   <input type="password" name="password" value="输入值">
 * </form>
 * 
 *  username=输入值   password=输入值
 */

public class HttpClientDemo4 {
	public static void main(String[] args) throws ClientProtocolException, IOException {
		String baseUrl="http://10.0.184.105:58080/ServletDemo4/LoginServlet";//username=? password=?
		HttpClient httpclient=new DefaultHttpClient();
		//以请求的url地址创建httppost请求对象
		HttpPost httppost=new HttpPost(baseUrl);
		
		//NameValuePair 表示以类的形式保存提交的键值对
		NameValuePair pair1=new BasicNameValuePair("username", "ad");
		NameValuePair pair2=new BasicNameValuePair("password", "admin");
		//集合的目的就是存储需要向服务器提交的key-value对的集合
		List<NameValuePair> listPair=new ArrayList<NameValuePair>();
		listPair.add(pair1);
		listPair.add(pair2);
		//HttpEntity 封装消息的对象 可以发送和接受服务器的消息  可以通过客户端请求或者是服务器端的响应获取其对象
		HttpEntity entity=new UrlEncodedFormEntity(listPair);//创建httpEntity对象
		httppost.setEntity(entity);//将发送消息的载体对象封装到httppost对象中
		
		HttpResponse response=httpclient.execute(httppost);
		int responseCode=response.getStatusLine().getStatusCode();
		if(responseCode==200){
			//得到服务器响应的消息对象
			HttpEntity httpentity=response.getEntity();
			System.out.println("服务器响应结果是:"+EntityUtils.toString(httpentity, "utf-8"));
		}else{
			System.out.println("响应失败!");
		}
	}


}


  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值