[英]Is there a function that strips HTTP response headers?
HttpResponse.getEntity()。getContent()返回所有内容 ......包括响应头,javascript代码,响应主体(当然!)等。
是否有一个功能可以清除它并仅提供响应体 ?
您必须将InputStream中的数据读取到缓冲区。 搜索此正则表达式:
\r\n\r\n(.*)
这将为您提供标题后的内容。
或者你可以用空字符串替换它,如果你正在搜索:
^.*?\r\n\r\n
您可以使用自己的方法使用Android过滤出模式。 传入字符串,并应用模式过滤器来删除您不想要的内容。
public String filter(String searchString)
{
String content = searchString;
// Remove the new line characters.
Pattern newLineChar = Pattern.compile("\n+");
Matcher mLine = newLineChar.matcher(content);
while (mLine.find())
content = mLine.replaceAll("");
// Return the clean content
return content;
}
你可以使你的模式变得非常复杂,并过滤掉你想要的任何表达。 (您可能需要使用正则表达式等)。 上面的示例用0长度字符串替换新行(\\ n),以从字符串中删除所有这些行。 您可以构建模式,也可以再次迭代以删除其他内容。
您还需要一些导入才能实现此目的:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.