N-Xiao 2016-07-05 15:43 采纳率: 0%
浏览 976

httpie 形式 用 httpclient 改写问题

http PATCH 127.0.0.1:8080/db/col/*?filter={'__i
d':{'$oid':'577b07800385b141c4d13ad1'},'submenu.subcode':'B013'} "submenu.$.subname"="test123"

现在要将上面的httpie 语句用httpclient 改写,我写的代码如下:
public static String getContentByPara(String url){

    String result= "";  

    DefaultHttpClient client = new DefaultHttpClient();                     
    HttpPut httppatch = new HttpPut("127.0.0.1:8080/db/col/*");
    httppatch.setHeader("Content-Type", "application/hal+json");
    JSONObject para = new JSONObject();
    para.put("submenu.$.subname", "test123");
    try { 
        List<NameValuePair> temp = new ArrayList<NameValuePair>();  
        temp.add(new BasicNameValuePair("filter", "{'_id':{'$oid':'577b07800385b141c4d13ad1'},'submenu.subcode':'B013'}"));  
        String str = EntityUtils.toString(new UrlEncodedFormEntity(temp,"UTF-8"));


        httppatch.setEntity(new StringEntity(para.toString(),"UTF-8"));

        httppatch.setURI(new URI(httppatch.getURI().toString() + "?"+ str));

        HttpResponse httpResponse = client.execute(httppatch);
        System.out.println(httpResponse.getStatusLine().toString());
         if(httpResponse.getStatusLine().getStatusCode() == 200)  
         {  

            HttpEntity httpEntity = httpResponse.getEntity();  
            result = EntityUtils.toString(httpEntity);  

// System.out.println(result);
}else{

             httppatch.abort(); 
         }  

     } catch (ClientProtocolException e1){
         e1.printStackTrace();
     }catch (IOException e2){
         e2.printStackTrace();
     }catch (URISyntaxException e) {
            e.printStackTrace();
        }finally { 
         httppatch.releaseConnection(); 
     }    
    return null;
}

但是报HTTP/1.1 405 Method Not Allowed
  • 写回答

2条回答 默认 最新

  • devmiao 2016-07-05 15:51
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 安装svn网络有问题怎么办
  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献