zoukankan      html  css  js  c++  java
  • HttpURLConnection类的用法

    servlet端

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.PrintWriter;
    import java.net.URLDecoder;
    import java.net.URLEncoder;

    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;


    public class ServerServlet extends HttpServlet {
     public ServerServlet() {
      super();
     }
     public void destroy() {
      super.destroy(); // Just puts "destroy" string in log
      // Put your code here
     }

     public void doGet(HttpServletRequest request, HttpServletResponse response)
       throws ServletException, IOException {

      this.doPost(request, response);
     }


     public void doPost(HttpServletRequest request, HttpServletResponse response)
       throws ServletException, IOException {
      //获得响应流,获得输入对象
      response.setCharacterEncoding("utf-8");
      request.setCharacterEncoding("utf-8");
            InputStream inputStream = request.getInputStream();
            PrintWriter out = response.getWriter();
            BufferedReader reader=new BufferedReader(new InputStreamReader(inputStream));
            System.out.println("进入+"+URLDecoder.decode(reader.readLine(),"utf-8") );
            out.print(URLEncoder.encode("响应","utf-8") );
            out.close();
     }

     /**
      * Initialization of the servlet. <br>
      *
      * @throws ServletException if an error occurs
      */
     public void init() throws ServletException {
      // Put your code here
     }

    }

    客户端测试

    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.io.PrintWriter;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.net.URLDecoder;
    import java.net.URLEncoder;


    public class Test {

     /**
      * @param args
      */
     public static void main(String[] args) {
      // TODO Auto-generated method stub
         String requestString = "我们要以流发送的数据...";
             HttpURLConnection httpURLConnection;
             try {
                 //建立链接
                 URL gatewayUrl = new URL("http://localhost:8080/servlet/server");
                 httpURLConnection = (HttpURLConnection) gatewayUrl.openConnection();

                 //设置连接属性
                 httpURLConnection.setDoOutput(true);
                 httpURLConnection.setDoInput(true);
                 httpURLConnection.setUseCaches(false);
                 //设置请求属性
                 httpURLConnection.setRequestMethod("POST");
                 httpURLConnection.setRequestProperty("Content-Type", "application/octet-stream");
                 PrintWriter writer=new PrintWriter(httpURLConnection.getOutputStream());
                 writer.write(URLEncoder.encode("我来了","utf-8"));
                 writer.close();
                 //获得响应状态 只有调用这个方法时真正去访问service方法
                 int responseCode = httpURLConnection.getResponseCode();
                 if(httpURLConnection.HTTP_OK==responseCode)
                 {
                  BufferedReader reader=new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream()));
                  System.out.println( URLDecoder.decode(reader.readLine(), "utf-8") );
                 }
             }catch(Exception ex)
             {
              ex.printStackTrace();
             }
               
     }

    }

        如果你使用代理访问外面的网络的话可以在程序中添加上下面的代码
        System.getProperties().put("proxySet", "true");
        System.getProperties().put("proxyHost", "10.154.134.110");
        System.getProperties().put("proxyPort", "8080");

  • 相关阅读:
    Vmware虚拟机的单用户模式
    Xshell密钥认证
    PuTTY密钥认证
    CentOS 7在NAT模式下配置静态IP
    使用OllyDbg破解EasyCrackMe
    2017 计蒜之道 初赛 第五场 A. UCloud 机房的网络搭建
    2017 计蒜之道 初赛 第五场 A. UCloud 机房的网络搭建
    Kafka常用命令
    选择器和层叠
    语义化
  • 原文地址:https://www.cnblogs.com/liaomin416100569/p/9331716.html
Copyright © 2011-2022 走看看