Java实现HTTP POST方式

Java实现HTTP POST方式:


HttpPostUtil.java

import java.nio.charset.Charset;

import lombok.extern.slf4j.Slf4j;

import org.apache.http.client.fluent.Content;
import org.apache.http.client.fluent.Form;
import org.apache.http.client.fluent.Request;
import org.apache.http.entity.ContentType;
import org.springframework.stereotype.Service;

@Service("httpPostUtil")
@Slf4j
public class HttpPostUtil {
	
	/**
	 * 通过Form方式提交HTTP POST
	 */
	public String doPostForm(String url, String jsonText) {
		try {
			Content resp = Request
					.Post(url)
					.bodyForm(
							Form.form()
							.add("jsonText", jsonText)
							.build(),
							Charset.forName("UTF-8")).execute().returnContent();
			String respString = resp.asString();
			return respString;		
		} catch (Exception e) {
			log.error("edm-do-post-form fail: {}", e);
			return "";
		}
	}
	
	/**
	 * 通过FormString方式提交HTTP POST
	 */
	public String doPostFormString(String url, String jsonText) {
		try {
			Content resp = Request.Post(url)
					.bodyString(jsonText, ContentType.APPLICATION_JSON)
					.elementCharset("UTF-8").execute().returnContent();		
			String respString = resp.asString();
			return respString;
		} catch (Exception e) {
			log.error("edm-do-post-formstring fail: {}", e);
			return "";
		}
	}
}

其中传入的 jsonText可以通过下面方法来实现:

String jsonText = com.alibaba.fastjson.JSON.toJSONString(pushClueRecords);

pushClueRecords为对象。


你可能感兴趣的:(java,HTTP协议)