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为对象。