Android 使用三種方式擷取網頁(通過Post,Get進行表單的提交)

來源:互聯網
上載者:User

在這裡把三種擷取網頁內容的資訊進行了綜合,在前面已經對通過表單提交上傳檔案進行了處理,現在把這三種方式進行了綜合,放到一塊,協助大家進行一個比較,下面為三種方式 的部分代碼:

一共三個函數,都可以直接調用,但是在訪問網路的時候,記得要加上存取權限

 

代碼

    // 直接擷取資訊
void DirectInfo() throws IOException {

URL url = new URL(SRC);

HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();

InputStreamReader inStreamReader = new InputStreamReader(httpConn
.getInputStream());

BufferedReader bufReader = new BufferedReader(inStreamReader);

String line = "";
String Date = "OK";
while ((line = bufReader.readLine()) != null) {
Date += line + "\n";
}

edit1.setText(Date);

}

// get方式擷取資訊
void getInfo() throws IOException {
// 將上面使用的方法直接修改一下即可。

URL url = new URL(SRC+"/default.aspx?NAME="
+ URLEncoder.encode("abc", "utf-8"));
HttpURLConnection httpconn = (HttpURLConnection) url.openConnection();

InputStreamReader inputReader = new InputStreamReader(httpconn
.getInputStream());

BufferedReader bufReader = new BufferedReader(inputReader);

String line = "";
String Date = "";

while ((line = bufReader.readLine()) != null) {
Date += line;
}

edit1.setText(Date);

}

// Post方式擷取資訊
void postInfo() throws MalformedURLException, IOException {
// Post 方法比Get方法需要設定的參數更多

HttpURLConnection httpconn = (HttpURLConnection) new URL(SRC)
.openConnection();
// post 方式,輸入輸出需要設定為true
httpconn.setDoInput(true);
httpconn.setDoOutput(true);
httpconn.setRequestMethod("POST"); // 設定為Post方式,預設為get方式
httpconn.setUseCaches(false); // 不使用緩衝
httpconn.setInstanceFollowRedirects(true); // 重新導向
httpconn.setRequestProperty("Content-type",
"Application/x-www-form-urlencoded"); // 設定串連 的Content-type類型為:
// application/x-www-form-urlencoded
httpconn.connect(); //串連

DataOutputStream out = new DataOutputStream(httpconn.getOutputStream()); //聲明資料寫入流

String content = "NAME="+URLEncoder.encode("fly_binbin", "gb2312");

out.writeBytes(content);

out.flush();
out.close();

BufferedReader reader = new BufferedReader(new InputStreamReader(httpconn.getInputStream()));

String line = "";
String resultDate = "";
while((line=reader.readLine())!=null)
{
resultDate += line;
}
edit1.setText(resultDate);

}

 

網址的話,可以自己做一個測試伺服器。我這個測試伺服器是我自己寫的,進行測試用的,用Asp.net寫的,用其它的方法寫的結果是一樣的。包括使用Web服務結果也是一樣的!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.