zoukankan      html  css  js  c++  java
  • android19

    【向Internet发送请求参数】

    利用HttpURLConnection对象,我们可以向网络发送请求参数.
    String requestUrl = "http://192.168.17.9:8080/and/listservlet";
    Map<String, String> requestParams = new HashMap<String, String>();
    requestParams.put("age", "12");
    requestParams.put("name", "中国");
     StringBuilder params = new StringBuilder();
    for(Map.Entry<String, String> entry : requestParams.entrySet()){
     params.append(entry.getKey());
     params.append("=");
     params.append(URLEncoder.encode(entry.getValue(), "UTF-8"));
     params.append("&");
    }
    if (params.length() > 0) params.deleteCharAt(params.length() - 1);
    byte[] data = params.toString().getBytes();
    URL realUrl = new URL(requestUrl);
    HttpURLConnection conn = (HttpURLConnection) realUrl.openConnection();
    conn.setDoOutput(true);//发送POST请求必须设置允许输出
    conn.setUseCaches(false);//不使用Cache
    conn.setRequestMethod("POST");        
    conn.setRequestProperty("Content-Length", String.valueOf(data.length));
    conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
    DataOutputStream outStream = new DataOutputStream(conn.getOutputStream());
    outStream.write(data);
    outStream.flush();
    if( conn.getResponseCode() == 200 ){
            String result = readAsString(conn.getInputStream(), "UTF-8");
            outStream.close();
            System.out.println(result);
    }

    //---------------------------

    利用HttpURLConnection对象,我们可以向网络发送xml数据.
    StringBuilder xml =  new StringBuilder();
    xml.append("<?xml version="1.0" encoding="utf-8" ?>");
    xml.append("<M1 V=10000>");
    xml.append("<U I=1 D="N73">中国</U>");
    xml.append("</M1>");
    byte[] xmlbyte = xml.toString().getBytes("UTF-8");
    URL url = new URL("http://192.168.17.9:8080/and/listservlet");
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    conn.setConnectTimeout(5* 1000);
    conn.setDoOutput(true);//允许输出
    conn.setUseCaches(false);//不使用Cache
    conn.setRequestMethod("POST");        
    conn.setRequestProperty("Content-Length", String.valueOf(xmlbyte.length));
    conn.setRequestProperty("Content-Type", "text/xml; charset=UTF-8");
    DataOutputStream outStream = new DataOutputStream(conn.getOutputStream());
    outStream.write(xmlbyte);//发送xml数据
    outStream.flush();
    if (conn.getResponseCode() != 200) throw new RuntimeException("请求url失败");
    InputStream is = conn.getInputStream();//获取返回数据
    String result = readAsString(is, "UTF-8");
    outStream.close(); 

    //---------------------------------------------------

  • 相关阅读:
    UVA 1600
    P3366 【模板】最小生成树(堆优化prim)
    P2414 [NOI2011]阿狸的打字机
    P2322 [HNOI2006]最短母串问题
    P4052 [JSOI2007]文本生成器
    P4824 [USACO15FEB]Censoring (Silver) 审查(银)&&P3121 [USACO15FEB]审查(黄金)Censoring (Gold)
    P3966 [TJOI2013]单词
    P2444 [POI2000]病毒
    P3294 [SCOI2016]背单词
    P2922 [USACO08DEC]秘密消息Secret Message
  • 原文地址:https://www.cnblogs.com/Miami/p/3139344.html
Copyright © 2011-2022 走看看