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

    在SDK中的URLConnection链接Servlet的问题

    1.URL的请求分类GET和POST

    GET请求可以获取页面静态的值,参数放URL后,传给Serverlct

    POST的参数是存放于http请求的正文中

    2.URLConnection的对象问题

    根据URL生成URLconnection,URLConnection在转成HttpUrlConnection.

    URL url = new URL("www.baidu.com");

    HttpUrlConnection httpUrlConnection = (HttpURLConnection) url.openConnection();

    3.HttpURLConnection对象参数问题

    设置是否向HttpURLConnection输出,因为这个是Post请求,参数要放在http正文中,因此要设置为true

    httpUrlConnection.setDoOutput(true);

    设置是否从httpUrlConnection读入,默认情况下是true

    httpUrlConnection.setDoInput(true);

    Post请求不能使用缓存

    httpUrlConnection.setUseCaches(false);

    设定传输的内容结果是可以序列化的JAVA对象

    (假设不设置,在传送序列化对象时,当WEB服务器默认的不是这种类型时可能抛出java.io.eofexcrption)

    httpUrlConnection.setRequestProperty("Content-type","application/x-java-serialized-object");

    //设定请求的方式必须是POST,默认时GET

    httpUrlConnection.setRequestMethod("Post");

    分装完毕

    httpUrlConnection.connect();

    getOutPutStream会隐含着connect,所以在开发环境中不调用上述的connect()也可以

    OutputStream outStrm = httpUrlConnection.getOutputStream()

    现在通过输出流对象构建对象的输出流,以实现输出可序列化的对象

     OutputStreamWriter out =  new  OutputStreamWriter(httpUrlConnection.getOutputStream(), "UTF-8");

    向对象输出流写数据,这些数据保存到内存中

    objectOutputStream.writeObject("测试字符串")

    //刷新对象输出流,将任何字节都写入潜在流中
    objOutputStm.flush()

     // 定义BufferedReader输入流来读取URL的响应
            BufferedReader    in = new BufferedReader( new InputStreamReader(conn.getInputStream(), "UTF-8"));
       String line

       StringBuilder result = new StringBuilder();;

         while ((line = in.readLine()) != null) {
                    result.append(line);
                }

    用finally{

    关闭输出流和输入流。

    in.close();

    }

    //关闭流对象,不在对输出流对象写入任何东西,先前写入的数据存在于缓存中

    objOutputStm.close();

    调用httpURLConnection连接对象的getInputStream()函数

    将内存缓冲区封装好完整的HTTP请求电文发送到服务端

    InputStream  inStrm = httpConn.getInputStream();

     

    周永发
  • 相关阅读:
    遗传算法python实现
    lambda的一些用法
    Python遗传和进化算法框架(一)Geatpy快速入门
    电脑连接小爱同学音箱无法调节音量
    Shell脚本批量修改文件编码为UTF-8
    java实现 批量转换文件编码格式为UTF8
    POM添加规范
    SOFA框架跨包调用报错NoClassDefFoundError
    logger打印日志时加if (logger.isInfoEnabled())/if (logger.isDebugEnabled())
    对象,JSON,字符串,map之间的互转
  • 原文地址:https://www.cnblogs.com/yvanBk/p/8407477.html
Copyright © 2011-2022 走看看