Java okhttp3 使用(持續更新)

關於技術文檔官網介紹得比較清楚了,我就不累贅了,下面給出我自己的一個使用案例。
**需求:**Java 代碼內部訪問其他服務器(帶http、https),需要其他服務器實現某功能,然後返回數據給Java當前項目。
**分析:**首先需要明白訪問的數據格式,其次是如何連接上目標服務器,然後如何接收數據,我的需求是發送一段文本給目標服務器,目標服務器返回處理結果。
環境:Java 1.8、OKHTTP3、spring boot
pom.xml依賴

		<dependency>
  			<groupId>com.squareup.okhttp3</groupId>
  			<artifactId>okhttp</artifactId>
  			<version>3.2.0</version>
		</dependency>

具體代碼:

import okhttp3.FormBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
//實例函數
	/**
	 * 直接post鍵值  "name" : "value"
	 * 
	 * */
	@Override
	public String post(String url , String params) {
		OkHttpClient client = new OkHttpClient();
		String anString = "";
		//組裝鍵值,params爲鍵值,name爲屬性名
		RequestBody formBody = new FormBody.Builder()
				.add("name", params)
				.build();
		//組裝請求頭
		Request request = new Request.Builder()
				.url(url)
				.post(formBody)
				.build();
		//該方法容易觸發IOException異常
		try {
			//獲取返回值
			Response response = client.newCall(request).execute();
			if(response.isSuccessful()) {
				anString += response.body().string();
			}else {
				anString+="error!";
			}
		}catch(IOException ie) {
			ie.printStackTrace();
		}
		return anString;
	}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章