您的位置:首页 > 理论基础 > 计算机网络

网络请求

2016-05-13 11:25 976 查看
      HttpClient get

//传过去url返回json/xml字符串

private String relut;

public static  String Http(String url){

      HttpClient ht=new DefaultHttpClient();

      HttpGet get=new HttpGet(url);

      try {

        HttpResponse execute = ht.execute(get);

        HttpEntity entity = execute.getEntity();

        relut=EntityUtils.toString(entity);

    } catch (ClientProtocolException e) {

        // TODO Auto-generated catch block

        e.printStackTrace();

    } catch (IOException e) {

        // TODO Auto-generated catch block

        e.printStackTrace();

    }

    return relut;

      
}

//HttpClient网络请求 post

public String send(String target) {

        String target = "http://192.168.1.66:8081/blog/deal_httpclient.jsp";    //要提交的目标地址

        HttpClient httpclient = new DefaultHttpClient();    //创建HttpClient对象

        HttpPost httpRequest = new HttpPost(target);    //创建HttpPost对象

        //将要传递的参数保存到List集合中

        List params = new ArrayList();

        params.add(new BasicNameValuePair("param", "post"));    //标记参数

        params.add(new BasicNameValuePair("nickname", nickname.getText().toString()));  //昵称

        params.add(new BasicNameValuePair("content", content.getText().toString()));    //内容

        try {

            httpRequest.setEntity(new UrlEncodedFormEntity(params, "utf-8")); //设置编码方式

            HttpResponse httpResponse = httpclient.execute(httpRequest);    //执行HttpClient请求

            if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK){  //如果请求成功

                result += EntityUtils.toString(httpResponse.getEntity());   //获取返回的字符串

            }else{

                result = "请求失败!";

            }

        } catch (UnsupportedEncodingException e1) {

            e1.printStackTrace();   //输出异常信息

        } catch (ClientProtocolException e) {

            e.printStackTrace();    //输出异常信息

        } catch (IOException e) {

            e.printStackTrace();    //输出异常信息

        }

        return result;

    }

HttpUrlconnection网络请求代码

  /**

   * 获取指定URL的响应字符串

   * @param urlString

   * @return

   */  

  private String getURLResponse(String urlString){  

      HttpURLConnection conn = null; //连接对象  

      InputStream is = null;  

      String resultData = "";  

      try {  

          URL url = new URL(urlString); //URL对象  

          conn = (HttpURLConnection)url.openConnection(); //使用URL打开一个链接  

          conn.setDoInput(true); //允许输入流,即允许下载  

          conn.setDoOutput(true); //允许输出流,即允许上传  

          conn.setUseCaches(false); //不使用缓冲  

          conn.setRequestMethod("GET"); //使用get请求  

          is = conn.getInputStream();   //获取输入流,此时才真正建立链接  

          InputStreamReader isr = new InputStreamReader(is);  

          BufferedReader bufferReader = new BufferedReader(isr);  

          String inputLine  = "";  

          while((inputLine = bufferReader.readLine()) != null){  

              resultData += inputLine + "\n";  

          }  

      } catch (MalformedURLException e) {  

          // TODO Auto-generated catch block  

          e.printStackTrace();  

      }catch (IOException e) {  

          // TODO Auto-generated catch block  

          e.printStackTrace();  

      }finally{  

          if(is != null){  

              try {  

                  is.close();  

              } catch (IOException e) {  

                  // TODO Auto-generated catch block  

                  e.printStackTrace();  

              }  

          }  

          if(conn != null){  

              conn.disconnect();  

          }  

      }  

      return resultData;  

  }

//HttpUrlconnection网络请求图片

  /**

   * 从指定URL获取图片

   * @param url

   * @return

   */  

  private Bitmap getImageBitmap(String url){  

      URL imgUrl = null;  

      Bitmap bitmap = null;  

      try {  

          imgUrl = new URL(url);  

          HttpURLConnection conn = (HttpURLConnection)imgUrl.openConnection();  

          conn.setDoInput(true);  

          conn.connect();  

          InputStream is = conn.getInputStream();  

          bitmap = BitmapFactory.decodeStream(is);  

          is.close();  

      } catch (MalformedURLException e) {  

          // TODO Auto-generated catch block  

          e.printStackTrace();  

      }catch(IOException e){  

          e.printStackTrace();  

      }  

      return bitmap;  

  }

//HttpUrlconnection网络请求 post

public Stringsend(String target) {
URL url;
try {
url = new URL(target);
HttpURLConnection urlConn = (HttpURLConnection) url
.openConnection(); // 创建一个HTTP连接
urlConn.setRequestMethod("POST"); // 指定使用POST请求方式
urlConn.setDoInput(true); // 向连接中写入数据
urlConn.setDoOutput(true); // 从连接中读取数据
urlConn.setUseCaches(false); // 禁止缓存
urlConn.setInstanceFollowRedirects(true);   //自动执行HTTP重定向
urlConn.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded"); // 设置内容类型
DataOutputStream out = new DataOutputStream(
urlConn.getOutputStream()); // 获取输出流
String param = "nickname="
+ URLEncoder.encode(nickname.getText().toString(), "utf-8")
+ "&content="
+ URLEncoder.encode(content.getText().toString(), "utf-8"); //连接要提交的数据
out.writeBytes(param);//将要传递的数据写入数据输出流
out.flush();    //输出缓存
out.close();    //关闭数据输出流
// 判断是否响应成功
if (urlConn.getResponseCode() == HttpURLConnection.HTTP_OK) {
InputStreamReader in = new InputStreamReader(
urlConn.getInputStream()); // 获得读取的内容
BufferedReader buffer = new BufferedReader(in); // 获取输入流对象
String inputLine = null;
while ((inputLine = buffer.readLine()) != null) {
result += inputLine + "\n";
}
in.close(); //关闭字符输入流
}
urlConn.disconnect();   //断开连接
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return result;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Android 网络