【发布时间】:2016-05-28 16:47:02
【问题描述】:
最近我想使用搜索界面。但是我对请求正文感到困惑。 根据参考,当你需要在他们的网站上搜索时,你可以这样做:
curl -d "keyword=android" http://gankio.herokuapp.com/search
那么如何在 java 中而不是 curl 中发布这个请求呢?
我尝试过使用 okhttp。
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();`
【问题讨论】:
-
我想找一个图书馆来简化你的生活。 Idk 如果有任何好处,但 github.com/kevinsawicki/… 是 1 行代码。
-
curl 是否正常工作并且您的代码会导致 http 400 错误?
curl -d以application/x-www-form-urlencoded发送数据,而不是 json。 stackoverflow.com/questions/24233632/… 将是使用 OkHttp 的方式。