在上一篇博客,简单介绍了Http的Get方式与网络互通信息,这边文章就来介绍用Post方式通信。
很简单,首先需要一个URL
URL url = new URL("http://fanyi.youdao.com/openapi.do");
然后根据URL获得一个HttpURLConnection,
HttpURLConnection connection=url.openConnection();
使用Get方式时,表单数据直接写在了URL的后面如:
URL url = new URL("http://fanyi.youdao.com/openapi.do?keyfrom=SkyHttpGetTest&key=545323935&type=data&doctype=xml&version=1.1&q=");
而在使用post方式时要往URL里写入表单数据,则需要设置url允许写入
url.setDoOutput(true);//表示允许url写入数据
获得url的输出流
OutputStream out=url.getOutputStream();
//进行包装
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(out));
bufferedWriter.flush();
然后通过bufferedWriter对URL进行数据的写入:
bufferedWriter.write("keyfrom=SkyHttpGetTest&key=545323935&type=data&doctype=xml&version=1.1&q=");
接下来就和之前get方法获取数据一样了
BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String str = "";
while ((str = br.readLine()) != null) {
buffer.append(str);
}
br.close();