Kürzlich möchte ich eine Suchschnittstelle verwenden. Aber ich bin verwirrt durch die Anfrage Körper. zu Referenz Nach, wenn Sie in ihre Website suchen, dann können Sie wie folgt tun:Veröffentlichen Sie eine Anfrage in Java
curl -d "keyword=android" http://gankio.herokuapp.com/search
So, wie eine Anfrage in Java zu schreiben, anstatt curl?
Ich habe versucht, okhttp zu verwenden.
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
OkHttpClient client = new OkHttpClient();
String json = "keyword=android";
RequestBody body = RequestBody.create(JSON,json);
Request request = new Request.Builder()
.url("http://gankio.herokuapp.com/search")
.post(body)
.build();
try {
Response response = client.newCall(request).execute();
Log.d("TAG",response.body().string());
} catch (IOException e) {
e.printStackTrace();
}
}
});
thread.start();`
Ich würde nach einer Bibliothek suchen, um Ihr Leben zu vereinfachen. Idk wenn etwas gut, aber https://github.com/kevinsawicki/http-request#perform-a-post-request-with-some-data-and-get-the-status-of-the-response ist 1 Zeile von Code. – zapl
Funktioniert Locke und Ihr Code führt zu einem http 400-Fehler? 'curl -d' sendet Daten als' application/x-www-form-urlencoded', nicht als json. http://stackoverflow.com/questions/24233632/how-to-add-parameters-to-api-http-post-using-okhttp-library-in-android wäre der Weg, um das mit OkHttp zu tun. – zapl
Vielen Dank. Ich löse es. – CoXier