<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    guangnian0412's BLOG

    Java in my life

    常用鏈接

    統(tǒng)計(jì)

    積分與排名

    我關(guān)注的Blog

    最新評(píng)論

    [HttpClient] 創(chuàng)建一個(gè)HTTP POST 請(qǐng)求 (from Jakarta Commons cookbook 11.7 )

    問(wèn)題:
    ??????? 你需要使用HTTP POST 方法來(lái)向一個(gè)servlet傳遞參數(shù)。

    討論:
    ??????? 創(chuàng)建一個(gè) PostMethod 對(duì)象,然后調(diào)用 setParameter() 或 addParameter() 方法設(shè)置參數(shù)。 PostMethod 對(duì)象將會(huì)傳送一個(gè) Content-Type 頭為 application/x-www-form-urlencoded 的請(qǐng)求,并且參數(shù)將在請(qǐng)求body中被傳送。在下列的例子中演示了用 PostMethod 對(duì)象傳遞參數(shù)的用法:
    import?org.apache.commons.httpclient.HttpClient;
    import?org.apache.commons.httpclient.HttpException;
    import?org.apache.commons.httpclient.NameValuePair;
    import?org.apache.commons.httpclient.methods.PostMethod;

    HttpClient?client?
    =?new?HttpClient(?);

    //?Create?POST?method
    String?url?=?"http://www.discursive.com/cgi-bin/jccook/param_list.cgi";
    PostMethod?method?
    =?new?PostMethod(?url?);

    //?Set?parameters?on?POST????
    method.setParameter(?"test1",?"Hello?World"?);
    method.addParameter(?
    "test2",?"This?is?a?Form?Submission"?);
    method.addParameter(?
    "Blah",?"Whoop"?);
    method.addParameter(?
    new?NameValuePair(?"Blah",?"Whoop2"?)?);

    //?Execute?and?print?response
    client.executeMethod(?method?);
    String?response?
    =?method.getResponseBodyAsString(?);
    System.out.println(?response?);

    method.releaseConnection(?);
    ??????
    param_list.cgi CGI腳本會(huì)對(duì)所以接收到的參數(shù)進(jìn)行回顯,從下面的輸出中,你可以看到傳遞給CGI腳本的三個(gè)參數(shù):
    These?are?the?parameters?I?received:

    test1:
    ??Hello?World
    test2:
    ??This?is?a?Form?Submission
    Blah:
    ??Whoop
    ??Whoop2
    ?????? 有幾種方法來(lái)在一個(gè)PostMethod對(duì)象中設(shè)置參數(shù)。最直接的方法就是調(diào)用setParameter()方法,并傳遞兩個(gè)字符串給它:參數(shù)的名稱和參數(shù)值。setParameter()方法將會(huì)替代任何已經(jīng)存在的同名參數(shù)。但是,如果一個(gè)同名的參數(shù)已經(jīng)存在一個(gè)PostMethod對(duì)象中,addParameter()將會(huì)加入另一個(gè)同名參數(shù)值;addParameter()方法同樣接受兩個(gè)String:參數(shù)名和參數(shù)值。另一種方法,這兩個(gè)方法同樣接受一個(gè)包裝了參數(shù)名和參數(shù)值的NameValuePair對(duì)象。在前面的例子中,通過(guò)addParameter()方法,用參數(shù)名Blah傳遞了兩個(gè)值,第一次用兩個(gè)String作為參數(shù),第二次用一個(gè)NameValuePair對(duì)象作為參數(shù)。

    posted on 2006-04-11 22:41 guangnian 閱讀(6751) 評(píng)論(4)  編輯  收藏 所屬分類: Jakarta Commons

    評(píng)論

    # re: [HttpClient] 創(chuàng)建一個(gè)HTTP POST 請(qǐng)求 (from Jakarta Commons cookbook 11.7 ) 2007-01-10 15:19 happytian

    調(diào)用method.setParameter傳遞中文,需要encode么?
    用method.setRequestBody傳遞中文,encode一下,可以傳遞過(guò)去
    用method.setParameter傳遞怎么也傳不過(guò)去,請(qǐng)問(wèn)什么原因?  回復(fù)  更多評(píng)論   

    # re: [HttpClient] 創(chuàng)建一個(gè)HTTP POST 請(qǐng)求 (from Jakarta Commons cookbook 11.7 ) 2007-01-11 00:15 guangnian

    @happytian
    不好意思,沒(méi)傳遞過(guò)中文的  回復(fù)  更多評(píng)論   

    # re: [HttpClient] 創(chuàng)建一個(gè)HTTP POST 請(qǐng)求 (from Jakarta Commons cookbook 11.7 ) 2007-10-28 11:53 中華信鴿

    學(xué)習(xí)了,寫(xiě)的真好,如果是get呢?  回復(fù)  更多評(píng)論   

    # re: [HttpClient] 創(chuàng)建一個(gè)HTTP POST 請(qǐng)求 (from Jakarta Commons cookbook 11.7 ) 2011-09-23 11:25 makefu

    good!  回復(fù)  更多評(píng)論   

    主站蜘蛛池模板: 亚洲AV成人无码网天堂| 人妖系列免费网站观看| 免费一级一片一毛片| a级毛片毛片免费观看久潮| 久久亚洲AV无码精品色午夜 | 国产成人无码区免费内射一片色欲 | 久久亚洲免费视频| 在线观看免费人成视频色| 美女被免费视频网站a| 亚洲av无码专区在线播放| 全免费一级午夜毛片| 中国黄色免费网站| 国产 亚洲 中文在线 字幕| 亚洲精品国产日韩无码AV永久免费网 | 国产V亚洲V天堂A无码| 女人被男人躁的女爽免费视频| 精品一区二区三区免费观看| 亚洲天堂电影在线观看| 国产福利电影一区二区三区,亚洲国模精品一区| 免费毛片a线观看| 国产精品久久久久久亚洲小说| 麻豆亚洲AV永久无码精品久久| 伊在人亚洲香蕉精品区麻豆| 久视频精品免费观看99| 一级毛片视频免费| 在线a亚洲老鸭窝天堂av高清| 日本亚洲成高清一区二区三区| 国产美女a做受大片免费| 久9久9精品免费观看| xvideos永久免费入口| 亚洲综合一区二区三区四区五区| 国产精品亚洲片在线| 国产一级淫片a免费播放口之| 精品国产污污免费网站aⅴ| 国产精品黄页免费高清在线观看| 亚洲无吗在线视频| 中文字幕亚洲免费无线观看日本| 中文字幕无码精品亚洲资源网| 四虎影库久免费视频| 亚洲一区二区三区夜色| 亚洲AV无码乱码国产麻豆|