隨筆-57  評論-202  文章-17  trackbacks-0
          向Web站點(diǎn)發(fā)送GET請求是很容易的。比如,創(chuàng)建一個URL對象http://www.sun.com/somepage.jsp?key=value,而不是http://www.sun.com/somepage.jsp。然而如果你需要發(fā)送一個POST請求時又該怎樣做呢? 

          向一個Web站點(diǎn)發(fā)送POST請求只需要簡單的幾步。首先要和URL下的URLConnection對話。URLConnection可以很容易的從URL得到。比如: 

          // Using java.net.URL and 
          //java.net.URLConnection 
          URL url = new 
          URL("http://jobsearch.dice.com/jobsearch/jobsearch.cgi"); 
          URLConnection connection = url.openConnection(); 
          然后把連接設(shè)為輸出模式。URLConnection通常作為輸入來使用,比如下載一個Web頁。通過把URLConnection設(shè)為輸出,你可以把數(shù)據(jù)向你個Web頁傳送。下面是如何做: 

          ... 
          connection.setDoOutput(true); 
          最后,為了得到OutputStream,簡單起見,把它約束在Writer并且放入POST信息中,例如: 

          ... 
          OutputStreamWriter out = new 
          OutputStreamWriter(uc.getOutputStream(), "8859_1"); 
          out.write("username=bob&password="+password+""); 
          // remember to clean up 
          out.flush(); 
          out.close(); 
          這樣就可以發(fā)送一個看起來象這樣的POST: 

          POST /jobsearch/jobsearch.cgi HTTP 1.0 
          ACCEPT: text/plain 
          Content-type: application/x-www-form-urlencoded 
          Content-length: 99 
          username=bob 
          password=someword 
          一旦發(fā)送成功,用以下方法就可以得到服務(wù)器的回應(yīng): 

          connection.getInputStream(); 
          一些Web站點(diǎn)用POST形式而不是GET,這是因?yàn)镻OST能夠攜帶更多的數(shù)據(jù),而且不用URL,這使得它看起來不那么龐大。使用上面列出的大致的代碼,Java代碼可以和這些站點(diǎn)輕松的實(shí)現(xiàn)對話。
          posted on 2005-06-24 11:32 小米 閱讀(533) 評論(0)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 钟山县| 嘉义市| 睢宁县| 贵阳市| 项城市| 都江堰市| 高平市| 锡林浩特市| 双城市| 彭阳县| 临江市| 尼木县| 昭通市| 东方市| 翁牛特旗| 大洼县| 郴州市| 潍坊市| 武宁县| 门头沟区| 宁德市| 邳州市| 延边| 邛崃市| 兴安盟| 永平县| 凤阳县| 庆阳市| 渝北区| 武清区| 新乡市| 涿鹿县| 福安市| 灵台县| 邵武市| 吉水县| 鹤峰县| 岐山县| 丁青县| 贞丰县| 怀安县|