无法使用Java在HTTP POST中传递参数 - 获得400响应状态

时间:2016-06-09 15:51:12

标签: java rest http-post httpclient apache-httpclient-4.x

我的问题可能看起来像stackoverflow中提到的帖子可能重复,但没有一个能够解决我的问题。我试图使用HTTP POST方法使用我的URL传递一些参数。以下是我的代码:

    HttpClient httpClient = HttpClients.createDefault();
    HttpPost httpPost = new HttpPost("http://urlname/_search");

    List<NameValuePair> nameValue = new ArrayList<NameValuePair>();
    nameValue.add(new BasicNameValuePair("size", "1"));
    httpPost.setEntity(new UrlEncodedFormEntity(nameValue));


    HttpResponse httpResponse = httpClient.execute(httpPost);

运行代码时,我得到400响应状态。我想基本上运行http://urlname/_search?size=1,它在浏览器上直接作为URI运行。我想我正在做一些基本的语法错误。此外,使用不带参数的POST请求(http://urlname/_search)运行良好并产生预期结果。任何帮助表示赞赏:)

0 个答案:

没有答案