我正在Android中创建HttpPost对象,以与客户端操作的服务器进行通信。不幸的是,服务器没有向我们中的任何一个提供非常有用的错误消息。我希望将HttpPost对象的内容视为一个字符串,以便将其发送给我们的客户,他可以将其与他的期望进行比较。

如何将HttpPost对象转换为反射(reflect)其到达服务器后的外观的字符串?

最佳答案

执行后应该使用它

public static String httpPostToString(HttpPost httppost) {
    StringBuilder sb = new StringBuilder();
    sb.append("\nRequestLine:");
    sb.append(httppost.getRequestLine().toString());

    int i = 0;
    for(Header header : httppost.getAllHeaders()){
      if(i == 0){
          sb.append("\nHeader:");
      }
        i++;
        for(HeaderElement element : header.getElements()){
            for(NameValuePair nvp :element.getParameters()){
                sb.append(nvp.getName());
                sb.append("=");
                sb.append(nvp.getValue());
                sb.append(";");
            }
        }
    }
    HttpEntity entity = httppost.getEntity();

    String content = "";
    if(entity != null){
        try {

            content = IOUtils.toString(entity.getContent());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    sb.append("\nContent:");
    sb.append(content);


    return sb.toString();
}

snippet

关于java - 如何将Java HttpPost对象显示为字符串?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12304454/

10-08 23:57