Post方式需要向网络传输一部分数据,所以同时具有输入流和输出流。
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.btGet).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
new AsyncTask<String, Void, Void>(){
@Override
protected Void doInBackground(String... params) {
try {
//新建url并打开连接,params[0]就是下方execute中的url地址
URL url=new URL(params[0]);
HttpURLConnection connection=(HttpURLConnection) url.openConnection();
//设置connection的属性
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setRequestMethod("POST");
OutputStreamWriter osw=new OutputStreamWriter(connection.getOutputStream(),"UTF-8");
BufferedWriter bw=new BufferedWriter(osw);
bw.write("keyfrom=123textHttpGet&key=1903117903&type=data&doctype=xml&version=1.1&q=good");
bw.flush();
//?keyfrom=123textHttpGet&key=1903117903&type=data&doctype=xml&version=1.1&q=good
//获取网络的输入流数据
InputStream is=connection.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is,"UTF-8"));
String line;
//获取内容
while((line=br.readLine())!=null){
System.out.println(line);
}
br.close();
is.close();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
//execute中的网址就是请求的地址
}.execute("http://fanyi.youdao.com/openapi.do");
}
});
}
}