使用Java发送HTTP发送POST、GET请求

使用Java发送HTTP发送POST、GET请求

在使用Java编程的时候,经验要发送POST、GET请求,但有时候还经常忘记,那好吧做个记忆的备份。
具体是POST还是GET只在setRequestMethod之间。

public static String sendPost(String url, String data){
         try {
            URL realUrl = new URL(url);//通过传入的url创建URL类,记得一定是http开头的。
            HttpURLConnection httpConn = (HttpURLConnection)realUrl.openConnection();
            httpConn.setDoOutput(true);//需要输入,输入就是我们要上传服务器的数据。
            httpConn.setDoInput(true);//需要输出,输出的就是我们上传数据给服务器后服务器会给我们返回什么。
            httpConn.setUseCaches(false);  //不允许缓存
            httpConn.setRequestMethod("POST");//微妙之处就在这里,写啥就是啥。

            /*下面这几句就是设置Header的地方,*/
            httpConn.setRequestProperty("accept", "*/*");
            httpConn.setRequestProperty("Connection", "Keep-Alive");// 维持长连接
            httpConn.setRequestProperty("Charset", "UTF-8");

            /*获得输出流,这个流就是输出给服务器的*/
            DataOutputStream dos = new DataOutputStream(httpConn.getOutputStream());
            dos.writeBytes(data);//填写输出的数据。
            dos.flush();
            dos.close();

            /*这里等待服务器的回复信息,resultCode就是200、 302、 404、 500啥的*/
            int resultCode = httpConn.getResponseCode();
            /*看这里只有在HTTP_OK的时候才读取数据。因为这个才是一个真确的服务器返回*/
            if(HttpURLConnection.HTTP_OK == resultCode){
                StringBuffer sb=new StringBuffer();
                  String readLine=new String();
                  BufferedReader responseReader=new BufferedReader(new InputStreamReader(httpConn.getInputStream(),"UTF-8"));
                  while((readLine=responseReader.readLine())!=null){
                    sb.append(readLine).append("\n");
                  }
                  responseReader.close();
                  System.out.println(sb.toString());
            }
        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        return null;
    }

好了记忆备份结束。就这样结束吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值