在Java中想后臺(tái)服務(wù)器發(fā)送請(qǐng)求一般都直接使用了Java的網(wǎng)絡(luò)編程,或者使用HttpClient向后臺(tái)服務(wù)器端發(fā)送HTTP請(qǐng)求。雖然在安卓中,所有Java的API都可以使用,而卻使用其并不會(huì)出現(xiàn)什么問(wèn)題,但是HttpClient畢竟是基于Java標(biāo)準(zhǔn)實(shí)現(xiàn)的一個(gè)類,在安卓中,想要連接后臺(tái)服務(wù)器端,專門基于android實(shí)現(xiàn)了一個(gè)類,為HttpURLConnection。通過(guò)HttpURLConnection,我們可以實(shí)現(xiàn)向服務(wù)器端發(fā)送HTTP請(qǐng)求,連通后臺(tái)服務(wù)器和客戶端。
這幾天剛好在做android客戶端和服務(wù)器端通信,使用了HttpURLConnection。
HttpURLConnection可以實(shí)現(xiàn)一個(gè)完整的HTTP協(xié)議的請(qǐng)求。
首先,new一個(gè)URL,知道連接服務(wù)器的地址。
1 URL url = new URL(AppsData.LoginServerURL);2 HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
其中AppsDatah.LoginServerURL這里設(shè)定的是一個(gè)URL。
接下來(lái)就是設(shè)置HTTP協(xié)議的內(nèi)容:
1 //設(shè)置HTTP協(xié)議2 httpURLConnection.setRequestMethod("POST");3 httpURLConnection.setDoOutput(true);4 httpURLConnection.setDoInput(true);5 httpURLConnection.setConnectTimeout(5000);6 httpURLConnection.setRequestProperty("Content-type", "application/x-java-serialized-object");
接下來(lái)和一般的網(wǎng)絡(luò)編程一樣使用流將內(nèi)容寫入:
延伸閱讀
學(xué)習(xí)是年輕人改變自己的最好方式