JAVA使用百度链接实时推送API提交链接
2024-08-29 07:39:33
官网地址:http://data.zz.baidu.com/
百度推广API的token获取
http://data.zz.baidu.com/site/index
填写完之后会进行验证, 验证完之后,选择链接提交,有个自动提交能看到密钥
请求demo
package com.test; import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils; import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.HashMap;
import java.util.Map; public class Test { /**
* 百度链接实时推送
* @param PostUrl 推送的链接
* @param domain 推送链接的域名
* @param bdToken 百度主动推送链接准入密钥
* @return
*/
public String pushPost(String PostUrl,String domain, String bdToken){
String linkSubmitUrl="http://data.zz.baidu.com/urls";
String host="data.zz.baidu.com";
linkSubmitUrl+="?site="+domain+"&token="+bdToken;
String result="";
HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
//HttpClient
CloseableHttpClient client = httpClientBuilder.build();
client = (CloseableHttpClient) wrapClient(client);
Map<String, String> msg=new HashMap<>();
HttpPost post = new HttpPost(linkSubmitUrl);
//发送请求参数
try
{
StringEntity s = new StringEntity(PostUrl,"utf-8");
s.setContentType("application/json");
post.setEntity(s);
post.setHeader("Host", host);
post.setHeader("User-Agent", "curl/7.12.1");
post.setHeader("Content-Type", "text/plain");
HttpResponse res = client.execute(post);
HttpEntity entity = res.getEntity();
String str= EntityUtils.toString(entity, "utf-8");
result=str; }
catch (Exception e)
{
result=null;
e.printStackTrace();
} return result;
} private static org.apache.http.client.HttpClient wrapClient(HttpClient client) {
try {
SSLContext ctx = SSLContext.getInstance("TLSv1");
X509TrustManager tm = new X509TrustManager() {
public void checkClientTrusted(X509Certificate[] xcs,
String string) throws CertificateException {
} public void checkServerTrusted(X509Certificate[] xcs,
String string) throws CertificateException {
} public X509Certificate[] getAcceptedIssuers() {
return null;
}
};
ctx.init(null, new TrustManager[] { tm }, null);
SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(ctx, new String[] { "TLSv1" }, null,
SSLConnectionSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);
CloseableHttpClient httpclient = HttpClients.custom().setSSLSocketFactory(sslsf).build();
return httpclient; } catch (Exception ex) {
return null;
}
}
}
最新文章
- .NET中TextBox控件设置ReadOnly=true后台取不到值的解决方法
- POJ 3225 Help with Intervals --线段树区间操作
- HDU 4902 (线段树)
- UVa 11992 (线段树 区间修改) Fast Matrix Operations
- File的文件提取的小练习
- 手把手教你解决无法创建 JPA 工程的问题
- C# 生成二维码 QRCoder
- 泛型的上下边界 : ? extends E 与 ? super T
- Delphi Redis Client
- VS2015离线安装NuGet Package
- GRU门控制循环单元【转载】
- .NET 介绍
- 团队作业8--测试与发布(Beta阶段)
- Mac下用brew搭建PHP(LNMP/LAMP)开发环境
- Windows 10 无法调节亮度的解决办法
- VS项目属性的一些配置项的总结(important)
- oracle之用户名密码包含特殊字符时候怎么使用sqlplus登录
- zip和tgz以及exe的区别
- Codeforces 1099 D. Sum in the tree-构造最小点权和有根树 贪心+DFS(Codeforces Round #530 (Div. 2))
- git报错--RPC failed; curl 18 transfer closed with outstanding read data remaining