主頁(yè) > 知識(shí)庫(kù) > jsp 中HttpClient中的POST方法實(shí)例詳解

jsp 中HttpClient中的POST方法實(shí)例詳解

熱門(mén)標(biāo)簽:百度地圖添加標(biāo)注圖標(biāo)樣式 聊城智能電銷(xiāo)機(jī)器人外呼 南京新思維電話(huà)機(jī)器人 企業(yè)怎么在聯(lián)通申請(qǐng)400電話(huà) 地圖標(biāo)注市場(chǎng)怎么樣 好操作的電話(huà)機(jī)器人廠家 泰州泰興400電話(huà) 怎么申請(qǐng) 南昌市地圖標(biāo)注app 如何用中國(guó)地圖標(biāo)注數(shù)字點(diǎn)

jsp 中HttpClient中的POST方法實(shí)例詳解

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

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

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

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

String url = "http://www.newsmth.net/bbslogin2.php"; 
PostMethod postMethod = new PostMethod(url); 
// 填入各個(gè)表單域的值 
NameValuePair[] data = { new NameValuePair("id", "youUserName"), 
new NameValuePair("passwd", "yourPwd") }; 
// 將表單的值放入postMethod中 
postMethod.setRequestBody(data); 
// 執(zhí)行postMethod 
int statusCode = httpClient.executeMethod(postMethod); 
// HttpClient對(duì)于要求接受后繼服務(wù)的請(qǐng)求,象POST和PUT等不能自動(dòng)處理轉(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; 
} 

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

您可能感興趣的文章:
  • Java使用HttpClient實(shí)現(xiàn)Post請(qǐng)求實(shí)例
  • httpclient模擬post請(qǐng)求json封裝表單數(shù)據(jù)的實(shí)現(xiàn)方法
  • JAVA利用HttpClient進(jìn)行POST請(qǐng)求(HTTPS)實(shí)例
  • HttpClient通過(guò)Post上傳文件的實(shí)例代碼
  • Java利用HttpClient模擬POST表單操作應(yīng)用及注意事項(xiàng)
  • java使用httpclient模擬post請(qǐng)求和get請(qǐng)求示例
  • java使用httpclient發(fā)送post請(qǐng)求示例
  • Android下通過(guò)httpClient發(fā)送GET和POST請(qǐng)求的實(shí)例代碼
  • Android HttpClient GET或者POST請(qǐng)求基本使用方法

標(biāo)簽:烏蘭察布 白銀 臨汾 銅川 吉林 山南 開(kāi)封 自貢

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《jsp 中HttpClient中的POST方法實(shí)例詳解》,本文關(guān)鍵詞  jsp,中,HttpClient,中的,POST,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《jsp 中HttpClient中的POST方法實(shí)例詳解》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于jsp 中HttpClient中的POST方法實(shí)例詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章