我现在就是要做这样一个事
我要用httpclient提交一个url进行多关键字查询,含有汉字,中间是用+链接。
类似这样的 http://www.amazon.cn/s/?keyword=java+%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84
我在浏览器里面输入这样的url是可以访问的
可是我把string设为java+%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84 传给BasicNameValuePair
就没法访问,怎么解决呢。

解决方案 »

  1.   

    下次碰到这种问题,如果非想找到对应字符,最简单的办法就是打开Baidu或Google,然后输入:
    W+W 
    搜索,然后看看URL中,两个W字符中间是啥。
    当然,标准做法是用 URLEncode,对你的参数值进行encode()。
      

  2.   

    1、+是不是需要转义,你试试。
    2、
    String loginURL = "http://www.amazon.cn/s/?keyword=java+%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84";
    HttpPost httpost = new HttpPost(loginURL);
    client.execute(httpost);   你看看这样是否可以正常访问,识别+