javaを使ってhttpインターフェースを呼び出します.

2854 ワード

使用するjarバッグ
使用java调用http接口_第1张图片
アリの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方法を使ってパラメータに加入します.