HttpClient、HttpUrlConnection请求数据的方式

来源:互联网 发布:非嵌入式软件 编辑:程序博客网 时间:2024/05/17 04:06

Http Client的请求数据的方式。

以下是Post方式

public static String readURL(String purl, String... params) throws Exception {

List<BasicNameValuePair> list = new ArrayList<BasicNameValuePair>();
for (int i = 0; i < params.length; i += 2) {
list.add(new BasicNameValuePair(params[i], params[i + 1]));
}
HttpPost post = new HttpPost(purl);
post.setEntity(new UrlEncodedFormEntity(list, "utf-8"));


HttpClient client = new DefaultHttpClient();
HttpResponse response = client.execute(post);
int code = response.getStatusLine().getStatusCode();

if (200==code) {
String  content = EntityUtils.toString(response.getEntity());
return content;
}
return null;

}

HttpUrlConnection的请求数据方式。

有两种方法

public static String readXML(String url) throws Exception {
String xml = "";
URL u = new URL(url);
HttpURLConnection connection = (HttpURLConnection) u.openConnection();
connection.setRequestMethod("POST");
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
StringBuffer sb = new StringBuffer();
while ((xml = reader.readLine()) != null) {
sb.append(xml);
}
return sb.toString();
}

第二种可以获取InputStream的输入流可以用来解析XML

public static InputStream HttpConn(String uri) throws Exception {


URL url = new URL(uri);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(500);
conn.setConnectTimeout(500);
conn.connect();


int responseCode = conn.getResponseCode();


if (HttpStatus.SC_OK == responseCode) {
InputStream is = conn.getInputStream();
// ByteArrayOutputStream bos = new ByteArrayOutputStream();
// int len = -1;
// byte[] bt = new byte[1024];
// while((len = is.read())!=-1){
// bos.write(bt, 0, len);
// }
// String string = bos.toString("utf-8");
return is;
}


return null;
}

1 0
原创粉丝点击