亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

jsp 中HttpClient中的POST方法實例詳解

 更新時間:2017年05月17日 10:02:47   投稿:lqh  
這篇文章主要介紹了jsp 中HttpClient中的POST方法實例詳解的相關資料,需要的朋友可以參考下

jsp 中HttpClient中的POST方法實例詳解

POST方法用來向目的服務器發(fā)出請求,要求它接受被附在請求后的實體,并把它當作請求隊列(Request-Line)中請求URI所指定資源的附加新子項。POST被設計成用統(tǒng)一的方法實現(xiàn)下列功能:

  1. 對現(xiàn)有資源的注釋
  2. 向電子公告欄、新聞組,郵件列表或類似討論組發(fā)送消息
  3. 提交數(shù)據(jù)塊,如將表單的結(jié)果提交給數(shù)據(jù)處理過程
  4. 通過附加操作來擴展數(shù)據(jù)庫

調(diào)用HttpClient中的PostMethod與GetMethod類似,除了設置PostMethod的實例與GetMethod有些不同之外,剩下的步驟都差不多。

構造PostMethod之前的步驟都相同,與GetMethod一樣,構造PostMethod也需要一個URI參數(shù),在本例中,登錄的地址是http://www.newsmth.NET/bbslogin2.PHP。在創(chuàng)建了PostMethod的實例之后,需要給method實例填充表單的值,在BBS的登錄表單中需要有兩個域,第一個是用戶名(域名叫id),第二個是密碼(域名叫passwd)。表單中的域用類NameValuePair來表示,該類的構造函數(shù)第一個參數(shù)是域名,第二參數(shù)是該域的值;將表單所有的值設置到PostMethod中用方法setRequestBody。另外由于BBS登錄成功后會轉(zhuǎn)向另外一個頁面,但是HttpClient對于要求接受后繼服務的請求,比如POST和PUT,不支持自動轉(zhuǎn)發(fā),因此需要自己對頁面轉(zhuǎn)向做處理。具體的頁面轉(zhuǎn)向處理請參見下面的"自動轉(zhuǎn)向"部分。代碼如下:

String url = "http://www.newsmth.net/bbslogin2.php"; 
PostMethod postMethod = new PostMethod(url); 
// 填入各個表單域的值 
NameValuePair[] data = { new NameValuePair("id", "youUserName"), 
new NameValuePair("passwd", "yourPwd") }; 
// 將表單的值放入postMethod中 
postMethod.setRequestBody(data); 
// 執(zhí)行postMethod 
int statusCode = httpClient.executeMethod(postMethod); 
// HttpClient對于要求接受后繼服務的請求,象POST和PUT等不能自動處理轉(zhuǎn)發(fā) 
// 301或者302 
if (statusCode == HttpStatus.SC_MOVED_PERMANENTLY ||  
statusCode == HttpStatus.SC_MOVED_TEMPORARILY) { 
  // 從頭中取出轉(zhuǎn)向的地址 
  Header locationHeader = postMethod.getResponseHeader("location"); 
  String location = null; 
  if (locationHeader != null) { 
   location = locationHeader.getValue(); 
   System.out.println("The page was redirected to:" + location); 
  } else { 
   System.err.println("Location field value is null."); 
  } 
  return; 
} 

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

最新評論