Hey, I want to build a simple android app for loving the recent track. I receive the song with user.getRecentTrack and send the data and session key to my method but there is an error: "The target server failed to response." Sometimes, there is also Error 3 from the lastfm method: track.love: "Invalid Method - No method with that name in this package". This is my Http Post Request for track.love
HttpClient client = new DefaultHttpClient();
String postURL = "http://ws.audioscrobbler.com/2.0/";;
HttpPost post = new HttpPost(postURL);
List<NameValuePair> params = new ArrayList<NameValuePair>(2);
String signatur = makeTrackLoveSignatur(artist, title, key);
params.add(new BasicNameValuePair("method", "track.love"));
params.add(new BasicNameValuePair("track", title));
params.add(new BasicNameValuePair("artist", artist));
params.add(new BasicNameValuePair("api_key", api_key));
params.add(new BasicNameValuePair("api_sig", signatur));
params.add(new BasicNameValuePair("sk", key));
params.add(new BasicNameValuePair("format", "json"));
UrlEncodedFormEntity ent =
new UrlEncodedFormEntity(params,HTTP.UTF_8);
post.setEntity(ent);
HttpResponse responsePOST = client.execute(post);
InputStream data = responsePOST.getEntity().getContent();
I implemented also a convert InputStream to String method:
BufferedReader reader = new BufferedReader(
new InputStreamReader(stream));
StringBuilder sb = new StringBuilder();
String line = null;
try {
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
stream.close();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("Output"+sb.toString());
return sb.toString();
What's the problem? Thanks...
Try adding the Content-type header:
post.addHeader("Content-type", "application/x-www-form-urlencoded");
Here's a similar question in python .
Have you tried asking in XML, not in JSON? It could be down or something .
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.