HttpURLConnection连接代码基本详…
来源:互联网 发布:不出门知天下事 编辑:程序博客网 时间:2024/05/22 07:00
这篇文章是从别的地方看到的,挺不错的,就学习一下吧
public static final String GET_URL = "http://localhost:8080/demo/ ";
public static final String POST_URL = "http://localhost:8080/demo/ ";
public static void readContentFromGet() throwsIOException {
//拼凑get请求的URL字串,使用URLEncoder.encode对特殊和不可见字符进行编码
String getURL = GET_URL + "?username= "
+ URLEncoder.encode("fat man", " utf-8");
URL getUrl = newURL(getURL);
//根据拼凑的URL,打开连接,URL.openConnection()函数会根据URL的类型,返回不同的URLConnection子类的对象,在这里我们的URL是一个http,因此它实际上返回的是HttpURLConnection
HttpURLConnection connection =(HttpURLConnection)getUrl.openConnection();
//建立与服务器的连接,并未发送数据
connection.connect();
//发送数据到服务器并使用Reader读取返回的数据
BufferedReader reader = newBufferedReader(newInputStreamReader(connection.getInputStream()));
System.out.println("============================= ");
System.out.println(" Contentsof get request ");
System.out.println("============================= ");
Stringlines;
while ((lines =reader.readLine()) != null) {
System.out.println(lines);
}
reader.close();
//断开连接
connection.disconnect();
System.out.println("============================= ");
System.out.println(" Contentsof get request ends ");
System.out.println("============================= ");
}
public static void readContentFromPost() throwsIOException {
//Post请求的url,与get不同的是不需要带参数
URL postUrl = newURL(POST_URL);
//打开连接
HttpURLConnection connection =(HttpURLConnection)postUrl.openConnection();
//打开读写属性,默认均为false
connection.setDoOutput(true);
//设置请求方式,默认为GET
connection.setRequestMethod("POST ");
// Post请求不能使用缓存
connection.setUseCaches(false);
//URLConnection.setFollowRedirects是static函数,作用于所有的URLConnection对象。
//connection.setFollowRedirects(true);
//URLConnection.setInstanceFollowRedirects是成员函数,仅作用于当前函数
connection.setInstanceFollowRedirects(true);
//配置连接的Content-type,配置为application/x-www-form-urlencoded的意思是正文是urlencoded编码过的form参数,下面我们可以看到我们对正文内容使用URLEncoder.encode进行编码
connection.setRequestProperty(" Content-Type",
" application/x-www-form-urlencoded");
//连接,从postUrl.openConnection()至此的配置必须要在connect之前完成,
//要注意的是connection.getOutputStream()会隐含的进行调用connect(),所以这里可以省略
//connection.connect();
DataOutputStream out = newDataOutputStream(connection
.getOutputStream());
//正文内容其实跟get的URL中'?'后的参数字符串一致
String content = " firstname="+URLEncoder.encode(" 一个大肥人 ", " utf-8 ");
//DataOutputStream.writeBytes将字符串中的16位的unicode字符以8位的字符形式写道流里面
out.writeBytes(content);
out.flush();
out.close(); // flush andclose
BufferedReader reader = newBufferedReader(newInputStreamReader(connection.getInputStream()));
Stringline;
System.out.println("============================= ");
System.out.println(" Contentsof post request ");
System.out.println("============================= ");
while ((line =reader.readLine()) != null) {
System.out.println(line);
}
System.out.println("============================= ");
System.out.println(" Contentsof post request ends ");
System.out.println("============================= ");
reader.close();
//connection.disconnect();
}
public static void main(String[] args){
// TODO Auto-generated methodstub
try {
readContentFromGet();
readContentFromPost();
} catch (IOException e){
// TODOAuto-generated catch block
e.printStackTrace();
}
}
package com.service;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
public class HttpInvoker {
connection.setDoInput(true);
}
0 0
- HttpURLConnection连接代码基本详…
- HttpURLConnection连接
- HttpURLConnection--HttpURLConnection的基本用法
- jdbc连接数据库基本代码
- HttpURLConnection的基本用法
- HttpURLConnection基本使用
- HttpURLConnection基本使用【L】
- HttpURLConnection基本工作原理
- HttpURLConnection连接死机问题
- HttpURLConnection连接 详解
- HttpUrlConnection网络连接
- HttpUrlConnection的连接异常
- http连接之HttpURLConnection
- android HttpUrlConnection连接笔记
- HttpUrlConnection 网络连接
- 网络连接+HttpUrlConnection+AsyncTask
- JDBC连接MySQL基本步骤代码块
- HttpURLConnection通过代理进行连接
- Spring Quartz定时器
- jquery的$.extend和$.fn.extend作用及区别
- 【转载】Spring RMI&nb…
- cocos2d-x游戏开发(十二)场景切换:滑门效果
- Spring Rmi配置
- HttpURLConnection连接代码基本详…
- 2015年04月16日
- 页面中disabled属性对form表单向后…
- JAVA反射机制
- ISA Server 2006的部署与应用
- MySQL存储过程详解 mysql …
- java在线预览txt、word、ppt、exec…
- JAVA读取Excel的实现[转]
- java正则表达式