zoukankan      html  css  js  c++  java
  • JAVA处理Http请求(GET,POST)

    本文用的是java.net里面的方法,HttpClient也可以。

    java.net.HttpURLConnection

    java.net.URL

    1. GET

    public static String get(String strUrl, String cookie) throws MalformedURLException,IOException {
            StringBuilder sbR = new StringBuilder();
            
            URL url = new URL(strUrl);
            //专为http特性做的URLconnection
            HttpURLConnection connection = (HttpURLConnection)url.openConnection();
            
            //给服务器发送cookie
            connection.setRequestProperty("cookie", cookie);
            
            BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            
            String line = "";
            boolean first = true;
            do {
                if( first == false)
                    sbR.append(line + "
    ");
                first = false;
                line = br.readLine();
            }while (!line.isEmpty());
            return sbR.toString();
        }

    2.POST

        public static String post(String strUrl, Map<String, String> header, String data) throws IOException {
    
            StringBuilder sbR = new StringBuilder();
            String cookie = null;
            URL url = new URL(strUrl);
            
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setDoInput(true); //写POST就得写着这两个
            connection.setDoOutput(true);
            connection.setRequestMethod("POST"); //网页默认提交方式为“GET”
            connection.setUseCaches(false);
            
            if (header != null) {
                @SuppressWarnings("rawtypes")
                Iterator itr = header.entrySet().iterator();
                while (itr.hasNext()) {
                    @SuppressWarnings("unchecked")
                    Map.Entry<String, String> entry= (java.util.Map.Entry<String, String>) itr.next();
                    connection.setRequestProperty(entry.getKey(), entry.getValue());
                    if(entry.getKey().equals("Cookie")){
                        cookie = entry.getValue();
                    }
                }
            }
            
            
            OutputStream os = connection.getOutputStream();
            os.write(data.getBytes());
            os.flush();
            os.close();
            
            //取cookie
            //html是作为connection的输入流进来的
            BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));
                HttpRequest.responseCookie = connection.getRequestProperty("Set-Cookie");
            //取返回的页面
                    String line = "";
                    do{
                        sbR.append(line + "
    ");
                        line = br.readLine();
                    }while (line != null); 
                    return sbR.toString() + connection.getHeaderField("Server");
                    
        }
        
  • 相关阅读:
    Java反编译插件Jad及eclipse编译插件JadClipse综合使用
    Java IO示例总结
    java Statement与preparedStatement的区别
    Android TabHost 文字及图片的设置
    Android EditText属性
    ubuntu 软件安装及卸载
    Android 设置控件不可见且不占用空间
    Ubuntu 11 安装后要做的20件事情
    Ubuntu Samba安装与创建目录
    Android Service
  • 原文地址:https://www.cnblogs.com/NoYone/p/8229163.html
Copyright © 2011-2022 走看看