javaを使ってhttpインターフェースを呼び出します.
2854 ワード
使用するjarバッグ
アリのfastjsonを使ってjson形式のデータを解析します.
このインターフェースはgetとpost方法をそれぞれ用いて呼び出しますが、2つの呼び出し方法はほぼ同じです.違いは、post方式はurl中で参参してはいけないので、set Entity方法を使ってパラメータに加入します.
アリのfastjsonを使ってjson形式のデータを解析します.
package httpinterface;
import java.io.IOException;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
public class Httptest {
public static void main(String args[]) {
String url_1 = "http://gc.ditu.aliyun.com/geocoding?a= ";
String url_2 = "http://gc.ditu.aliyun.com/geocoding";
doGetStr(url_1);
doPostStr(url_2, " ");
}
public static JSONObject doGetStr(String url) {
HttpClient httpclient = HttpClients.custom().build();
HttpGet httpget = new HttpGet(url);
JSONObject jsonobject = null;
try {
HttpResponse response = httpclient.execute(httpget);
HttpEntity entity = response.getEntity();
String result = EntityUtils.toString(entity, "UTF-8");
System.out.println("get :" + result);
jsonobject = JSON.parseObject(result);
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return jsonobject;
}
public static JSONObject doPostStr(String url, String key) {
HttpClient httpclient = HttpClients.custom().build();
HttpPost httppost = new HttpPost(url);
httppost.setEntity(new StringEntity(key, "UTF-8"));
JSONObject jsonobject = null;
try {
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
if (entity != null) {
String result = EntityUtils.toString(entity);
System.out.println("post :" + result);
jsonobject = JSON.parseObject(result);
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return jsonobject;
}
}
アリ雲の共通インターフェースを呼び出して、パラメータは地名で、その場所の経緯度に戻ります.このインターフェースはgetとpost方法をそれぞれ用いて呼び出しますが、2つの呼び出し方法はほぼ同じです.違いは、post方式はurl中で参参してはいけないので、set Entity方法を使ってパラメータに加入します.