81,092
社区成员
发帖
与我相关
我的任务
分享
package com.aaa;
import java.io.File;
import java.io.IOException;
import java.nio.charset.Charset;
import org.apache.hc.client5.http.classic.methods.HttpPost;
import org.apache.hc.client5.http.entity.mime.MultipartEntityBuilder;
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse;
import org.apache.hc.client5.http.impl.classic.HttpClients;
import org.apache.hc.core5.http.ContentType;
import org.apache.hc.core5.http.HttpEntity;
import org.apache.hc.core5.http.io.entity.EntityUtils;
public class weibo {
public static void main(String[] args) throws Exception {
File file = new File("E:\\article\\weibo_20190114161835827.jpeg");
File file1 = new File("E:\\article\\weibo_20190114161836750.jpeg");
File file2 = new File("E:\\article\\weibo_20190114161837173.jpeg");
File file3 = new File("E:\\article\\weibo_20190114161837190.jpeg");
CloseableHttpClient httpclient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost("https://api.weibo.com/2/statuses/share.json");
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
ContentType strContent = ContentType.create("text/plain",Charset.forName("UTF-8"));
ContentType imageContent = ContentType.create("image/jpeg");
builder.addTextBody("status", "这是一条来自java后台的测试微博,文本中必须包含至少一个第三方分享到微博的网页URL,并且字数不能超过140字。http://www.baidu.com", strContent);
builder.addBinaryBody("pic", file,imageContent, file.getName());
builder.addBinaryBody("pic", file1,imageContent, file1.getName());
builder.addBinaryBody("pic", file2,imageContent, file2.getName());
builder.addBinaryBody("pic", file3,imageContent, file3.getName());
builder.addTextBody("access_token", "2.00yOFlzGV4RsoDf88fdf1a7fINBEJB");
// builder.addBinaryBody("name=\"pic\"; filename=\"weibo_20190114161835827.jpeg\"", new File("E:\\article\\weibo_20190114161835827.jpeg"));
// builder.addBinaryBody("name=\"pic\"; filename=\"weibo_20190114161835827.jpeg\"", new File("E:\\article\\weibo_20190114161835827.jpeg"));
HttpEntity parameterEntity = builder.build();
httpPost.setEntity(parameterEntity);
CloseableHttpResponse response = httpclient.execute(httpPost);
if (response.getCode() != 200) {
throw new Exception(String.valueOf(response.getCode()) + "&" + response.getReasonPhrase());
}
HttpEntity resultEntity = response.getEntity();
if (resultEntity == null) {
throw new Exception("response null");
}
String result = EntityUtils.toString(resultEntity);
System.out.println("微博发送完毕:" + result);
}
}