HttpGET 和 HTTPPOST 访问http资源

发布时间 2023-04-06 17:53:30作者: 我的心儿

需求:用户登录(name:用户名,pwd:密码)

(一)HttpGet :doGet()方法
//doGet():将参数的键值对附加在url后面来传递
public String getResultForHttpGet(String name,String pwd) throws ClientProtocolException, IOException{
//服务器 :服务器项目 :servlet名称
String path="http://192.168.5.21:8080/test/test";
String uri=path+"?name="+name+"&pwd="+pwd;
//name:服务器端的用户名,pwd:服务器端的密码
//注意字符串连接时不能带空格

            String result="";
           
            HttpGet httpGet=new HttpGet(uri);
            HttpResponse response=new DefaultHttpClient().execute(httpGet);
            if(response.getStatusLine().getStatusCode()==200){
                    HttpEntity entity=response.getEntity();
                    result=EntityUtils.toString(entity, HTTP.UTF_8);
            }
            return result;
    }

(二)HttpPost :doPost()方法
//doPost():将参数打包到http报头中传递
public String getReultForHttpPost(String name,String pwd) throws ClientProtocolException, IOException{
//服务器 :服务器项目 :servlet名称
String path="http://192.168.5.21:8080/test/test";
HttpPost httpPost=new HttpPost(path);
Listlist=new ArrayList();
list.add(new BasicNameValuePair("name", name));
list.add(new BasicNameValuePair("pwd", pwd));
httpPost.setEntity(new UrlEncodedFormEntity(list,HTTP.UTF_8));

            String result="";
           
            HttpResponse response=new DefaultHttpClient().execute(httpPost);
            if(response.getStatusLine().getStatusCode()==200){
                    HttpEntity entity=response.getEntity();
                    result=EntityUtils.toString(entity, HTTP.UTF_8);
            }
            return result;
    }