1、get
public String doGet(String url) {
try {
URL thisurl = new URL(url); // 把字符串转换为URL请求地址
HttpURLConnection connection = (HttpURLConnection) thisurl
.openConnection();// 打开连接
connection.connect();// 连接会话
// 获取输入流
BufferedReader br = new BufferedReader(new InputStreamReader(
connection.getInputStream(), "UTF-8"));
String line;
StringBuilder sb = new StringBuilder();
while ((line = br.readLine()) != null) {// 循环读取流
sb.append(line);
}
br.close();// 关闭流
connection.disconnect();// 断开连接
return sb.toString();
} catch (Exception e) {
e.printStackTrace();
// System.out.println("失败!");
return null;
}
}
使用jdk自带的java.net.URL;即可
2、delete
public String doDelete(String url) {
try {
URL thisurl = new URL(url);
HttpURLConnection connection = (HttpURLConnection) thisurl
.openConnection();
connection.setRequestMethod("DELETE");//就是这里不一样
connection.connect();
// 获取输入流
BufferedReader br = new BufferedReader(new InputStreamReader(
connection.getInputStream(), "UTF-8"));
String line;
StringBuilder sb = new StringBuilder();
while ((line = br.readLine()) != null) {// 循环读取流
sb.append(line);
}
br.close();// 关闭流
connection.disconnect();
return sb.toString();
} catch (Exception e) {
e.printStackTrace();
// System.out.println("失败!");
return null;
}
}
使用jdk自带的java.net.URL;即可
3、post
private void recieveMsg(String url, String isliID) {
HttpClient httpClient = new HttpClient();
PostMethod postMethod = new PostMethod(url);
// 填入各个表单域的值,修改这个即可
NameValuePair[] data = { new NameValuePair("q", isliID) };
// 将表单的值放入postMethod中
postMethod.setRequestBody(data);
int statusCode = 0;
statusCode = httpClient.executeMethod(postMethod);
if (statusCode == HttpStatus.SC_MOVED_PERMANENTLY
|| statusCode == HttpStatus.SC_MOVED_TEMPORARILY) {
// 从头中取出转向的地址
Header locationHeader = postMethod
.getResponseHeader("location");
String location = null;
if (locationHeader != null) {
location = locationHeader.getValue();
}
return null;
} else {
//调用成功
System.out.println(postMethod.getStatusLine());
String str = "";
try {
str = postMethod.getResponseBodyAsString();
BufferedReader reader = new BufferedReader(new InputStreamReader(
postMethod.getResponseBodyAsStream(), "UTF-8"));
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line);
System.out.println(line);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(str);
}
postMethod.releaseConnection();
}
使用的jar是
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
这是个诡异的方法,之前测某个接口的时候使用百度到的其他post都无法正确提交数据,只有这个是对的。(亲测这段代码可以直接拿到android上使用)