<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)計

    積分與排名

    我關注的Blog

    最新評論

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

    問題:
    ??????? 你需要使用HTTP POST 方法來向一個servlet傳遞參數(shù)。

    討論:
    ??????? 創(chuàng)建一個 PostMethod 對象,然后調(diào)用 setParameter() 或 addParameter() 方法設置參數(shù)。 PostMethod 對象將會傳送一個 Content-Type 頭為 application/x-www-form-urlencoded 的請求,并且參數(shù)將在請求body中被傳送。在下列的例子中演示了用 PostMethod 對象傳遞參數(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腳本會對所以接收到的參數(shù)進行回顯,從下面的輸出中,你可以看到傳遞給CGI腳本的三個參數(shù):
    These?are?the?parameters?I?received:

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

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

    評論

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

    調(diào)用method.setParameter傳遞中文,需要encode么?
    用method.setRequestBody傳遞中文,encode一下,可以傳遞過去
    用method.setParameter傳遞怎么也傳不過去,請問什么原因?  回復  更多評論   

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

    @happytian
    不好意思,沒傳遞過中文的  回復  更多評論   

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

    學習了,寫的真好,如果是get呢?  回復  更多評論   

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

    good!  回復  更多評論   

    主站蜘蛛池模板: 亚洲精品理论电影在线观看| 亚洲韩国精品无码一区二区三区| 天堂亚洲免费视频| 中国在线观看免费的www| a视频在线观看免费| 亚洲色精品88色婷婷七月丁香| 国产成人久久精品亚洲小说| 国产又黄又爽又刺激的免费网址| 久久亚洲国产成人精品无码区| jizz在线免费播放| 亚洲国产精品一区二区第一页免| 国产亚洲日韩在线a不卡| 亚洲国产精品尤物YW在线观看| 国产久爱免费精品视频| 亚洲女久久久噜噜噜熟女| a国产成人免费视频| 亚洲麻豆精品果冻传媒| 精品久久8x国产免费观看| 亚洲女人影院想要爱| 一级做a爱过程免费视频高清| 亚洲人成无码网站久久99热国产| 国产精品九九久久免费视频| 亚洲AV无码不卡在线播放| 99视频全部免费精品全部四虎| 亚洲精品123区在线观看| 国产小视频在线观看免费| 国产精品免费久久| 亚洲神级电影国语版| 国产精品成人四虎免费视频| 特a级免费高清黄色片| 亚洲视频在线播放| 人妻在线日韩免费视频| 亚洲精品免费在线视频| 精品国产免费观看久久久| a一级毛片免费高清在线| 亚洲视频在线观看网址| 在线视频免费观看www动漫| 一级毛片免费全部播放| 亚洲综合色丁香麻豆| 国产福利免费在线观看| 一区二区三区观看免费中文视频在线播放 |