最近在写一些利用HTTP访问API的东东,做个记录,以备不时之需:
1:首先构造比较完整的API访问URL
HttpClient client = new HttpClient();
HttpMethod method = new GetMethod(url);
try {
client.executeMethod(method);
String r =method.getResponseBodyAsString();
return r;
}
finally{
method.releaseConnection();
}
2:根据得返回的结果进行解析,目前这里得到的结果是XML这里采用如下的方式进行解析:
SAXBuilder sb = new SAXBuilder();
StringReader reader = new StringReader(responseXml.trim());
Document doc;
try {
doc = sb.build(reader);
Element root = doc.getRootElement();
String isSuccess = getTextTrim(alipayRoot,"is_success");
if(StringUtils.isNotBlank(isSuccess) && "F".equals(isSuccess))
{
return null;
}
Element responseEle = root.getChild("response");
Element userEle = responseEle.getChild("user");
String isRealName = getTextTrim(userEle,"is_certified");
if(StringUtils.isNotBlank(isRealName) && "T".equals(isRealName))
{
return Boolean.TRUE;
}
else{
return Boolean.FALSE;
}
} catch (Throwable e) {
log.error("parseResponse fail:"+responseXml,e);
return null;
}