Java用apache的HttpClient发送Get请求

发送POST请求方法参考http://www.pocketdigi.com/20110521/294.html
相对于POST,接收文件稍稍修改一下:


<?php
@$usr=$_GET['usr'];
@$pwd=$_POST['pwd'];
echo $usr;
echo $pwd;
?>

当然,在实际项目中,没有特别需要,不会用GET接收用户名,同时用POST接收密码,我这只是能用POST和GET的例子都能正常运行。
Java Get的代码,与Post类似


package com.pocketdigi;

import java.io.UnsupportedEncodingException;

import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
/**
*JDK默认没有org.apache.http包,需要先去http://hc.apache.org/downloads.cgi下载
*下载HttpClient,解压,在Eclipse中导入所有JAR
*/
public class Main {
	/**
	 * @param args
	 * @throws UnsupportedEncodingException 
	 * 这个例子为了简单点,没有捕捉异常,直接在程序入口加了异常抛出声明
	 */
	public static void main(String[] args) throws Exception {
		// TODO Auto-generated method stub
		String url="http://localhost/newspaper/test/1.php?usr=156gs";
		//GET的URL,参数直接加URL后
		HttpGet httpget=new HttpGet(url);
		//建立HttpPost对象
		HttpResponse response=new DefaultHttpClient().execute(httpget);
		//发送GET,并返回一个HttpResponse对象,相对于POST,省去了添加NameValuePair数组作参数
		if(response.getStatusLine().getStatusCode()==200){//如果状态码为200,就是正常返回
			String result=EntityUtils.toString(response.getEntity());
			//得到返回的字符串
			System.out.println(result);
			//打印输出
		}
	}
}

© 2011, 冰冻鱼. 请尊重作者劳动成果,复制转载保留本站链接! 应用开发笔记