纵有疾风起
人生不言弃

HttpURLConnection发送请求

每个 HttpURLConnection 实例都可用于生成单个请求,但是其他实例可以透明地共享连接到 HTTP 服务器的基础网络。请求后在 HttpURLConnection 的 InputStream 或 OutputStream 上调用 close() 方法可以释放与此实例关联的网络资源,但对共享的持久连接没有任何影响。如果在调用 disconnect() 时持久连接空闲,则可能关闭基础套接字。JAVA使用HttpURLConnection发送POST数据是依靠OutputStream流的形式发送

package com.newflypig.demo;/** * 使用jdk自带的HttpURLConnection向URL发送POST请求并输出响应结果 * 参数使用流传递,并且硬编码为字符串"name=XXX"的格式 */import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLEncoder;public class SendPostDemo {  public static void main(String[] args) throws Exception{    String urlPath = new String("http://localhost:8080/Test1/HelloWorld");     //String urlPath = new String("http://localhost:8080/Test1/HelloWorld?name=丁丁".getBytes("UTF-8"));    String param="name="+URLEncoder.encode("丁丁","UTF-8");    //建立连接    URL url=new URL(urlPath);    HttpURLConnection httpConn=(HttpURLConnection)url.openConnection();    //设置参数    httpConn.setDoOutput(true);   //需要输出    httpConn.setDoInput(true);   //需要输入    httpConn.setUseCaches(false);  //不允许缓存    httpConn.setRequestMethod("POST");   //设置POST方式连接    //设置请求属性    httpConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");    httpConn.setRequestProperty("Connection", "Keep-Alive");// 维持长连接    httpConn.setRequestProperty("Charset", "UTF-8");    //连接,也可以不用明文connect,使用下面的httpConn.getOutputStream()会自动connect    httpConn.connect();    //建立输入流,向指向的URL传入参数    DataOutputStream dos=new DataOutputStream(httpConn.getOutputStream());    dos.writeBytes(param);    dos.flush();    dos.close();    //获得响应状态    int resultCode=httpConn.getResponseCode();    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());    }   }}

  

文章转载于:https://www.cnblogs.com/kxdblog/p/6023398.html

原著是一个有趣的人,若有侵权,请通知删除

未经允许不得转载:起风网 » HttpURLConnection发送请求
分享到: 生成海报

评论 抢沙发

评论前必须登录!

立即登录