use of org.apache.http.HttpEntity in project musicbrainz-android by jdamcd.
the class MusicBrainzWebClient method searchArtist.
@Override
public LinkedList<ArtistSearchResult> searchArtist(String searchTerm) throws IOException {
HttpEntity entity = get(QueryBuilder.artistSearch(searchTerm));
LinkedList<ArtistSearchResult> artists = responseParser.parseArtistSearch(entity.getContent());
entity.consumeContent();
return artists;
}
use of org.apache.http.HttpEntity in project musicbrainz-android by jdamcd.
the class MusicBrainzWebClient method lookupRecording.
@Override
public Recording lookupRecording(String mbid) throws IOException {
HttpEntity entity = get(QueryBuilder.recordingLookup(mbid));
Recording recording = responseParser.parseRecording(entity.getContent());
entity.consumeContent();
return recording;
}
use of org.apache.http.HttpEntity in project musicbrainz-android by jdamcd.
the class MusicBrainzWebClient method searchRelease.
@Override
public LinkedList<ReleaseInfo> searchRelease(String searchTerm) throws IOException {
HttpEntity entity = get(QueryBuilder.releaseSearch(searchTerm));
LinkedList<ReleaseInfo> releases = responseParser.parseReleaseSearch(entity.getContent());
entity.consumeContent();
return releases;
}
use of org.apache.http.HttpEntity in project SmartAndroidSource by jaychou2012.
the class HttpClientStack method setEntityIfNonEmptyBody.
private static void setEntityIfNonEmptyBody(HttpEntityEnclosingRequestBase httpRequest, Request<?> request) throws AuthFailureError {
byte[] body = request.getBody();
if (body != null) {
HttpEntity entity = new ByteArrayEntity(body);
httpRequest.setEntity(entity);
}
}
use of org.apache.http.HttpEntity in project FastDev4Android by jiangqqlmj.
the class IoUtils method responseFromServiceByGet.
/**
* get请求获取服务端数据
*/
public static String responseFromServiceByGet(String url, HashMap<String, String> map, RequestCallBack requestCallBack) {
if (url == null || url.equals("")) {
return null;
}
if (requestCallBack != null) {
requestCallBack.onRequestStart();
}
if (map != null) {
StringBuilder sb = new StringBuilder(url);
sb.append('?');
for (Map.Entry<String, String> entry : map.entrySet()) {
String key = entry.getKey().toString();
String value = null;
if (entry.getValue() == null) {
value = "";
} else {
value = entry.getValue().toString();
}
sb.append(key);
sb.append('=');
try {
Log.d(TAG_LISTLOGIC, "get获取数据的key:" + key);
Log.d(TAG_LISTLOGIC, "get获取数据的value:" + value);
value = URLEncoder.encode(value, HTTP.UTF_8);
Log.d(TAG_LISTLOGIC, "get投递编码后value:" + value);
sb.append(value);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
sb.append('&');
}
// 删除最后一个"&"
sb.deleteCharAt(sb.length() - 1);
url = sb.toString();
}
Log.d(TAG_LISTLOGIC, "get请求地址" + url);
if (requestCallBack != null) {
requestCallBack.onRequestLoading();
}
HttpGet httpGet = null;
URI encodedUri = null;
InputStream is = null;
try {
encodedUri = new URI(url);
httpGet = new HttpGet(encodedUri);
} catch (URISyntaxException e) {
// 清理一些空格
String encodedUrl = url.replace(' ', '+');
httpGet = new HttpGet(encodedUrl);
e.printStackTrace();
}
HttpClient httpClient = new DefaultHttpClient();
httpClient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, DEF_CONN_TIMEOUT);
httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, DEF_SOCKET_TIMEOUT);
try {
HttpResponse httpResponse = httpClient.execute(httpGet);
if (httpResponse != null) {
int httpCode = httpResponse.getStatusLine().getStatusCode();
if (httpCode == HttpStatus.SC_OK) {
HttpEntity entity = httpResponse.getEntity();
Header header = httpResponse.getFirstHeader("Content-Encoding");
if (header != null && header.getValue().equals("gzip")) {
Log.d(TAG_LISTLOGIC, "数据已做gzip压缩...");
// gzip压缩
byte[] resultstream = EntityUtils.toByteArray(entity);
resultstream = unGZip(resultstream);
String resultString = new String(resultstream, "UTF-8");
if (requestCallBack != null) {
requestCallBack.onRequestSuccess(resultString);
}
return resultString;
} else {
Log.d(TAG_LISTLOGIC, "数据无Gzip压缩...");
// 无压缩
is = entity.getContent();
if (is != null) {
String resultString = new String(getByteArrayFromInputstream(is), "utf-8");
if (requestCallBack != null) {
requestCallBack.onRequestSuccess(resultString);
}
return resultString;
}
}
Log.d(TAG_LISTLOGIC, "get请求服务器返回值200");
} else {
httpGet.abort();
if (requestCallBack != null) {
requestCallBack.onRequestError(RequestCallBack.HTTPSTATUSERROR, "HTTP链接错误");
}
}
} else {
httpGet.abort();
if (requestCallBack != null) {
requestCallBack.onRequestError(RequestCallBack.HTTPRESPONSEERROR, "数据获取异常");
}
}
} catch (Exception e) {
e.printStackTrace();
if (requestCallBack != null) {
requestCallBack.onRequestError(RequestCallBack.HTTPRESPONSEERROR, "数据获取异常");
}
return null;
} catch (OutOfMemoryError e) {
e.printStackTrace();
if (requestCallBack != null) {
requestCallBack.onRequestError(RequestCallBack.OUTOFMEMORYERROR, "内存溢出");
}
return null;
} finally {
if (httpClient != null) {
httpClient.getConnectionManager().shutdown();
httpClient = null;
}
if (requestCallBack != null) {
requestCallBack.onCancel();
}
}
return null;
}
Aggregations