java接收接口推送_java使用httpclient调用push接口(推送云API)

该博客展示了如何在Java中使用httpclient库调用推送接口进行消息推送。通过设置请求参数、添加请求头以及执行HTTP POST方法,实现了向推送云API发送消息的功能。内容包括设置appid、appkey,创建POST请求,设置消息标题、内容、类型等,并处理响应。
摘要由CSDN通过智能技术生成

static String appid = "A6980295688164";

static String appkey = "F7539113-CE9E-7919-87DE-C0B9898FCBC4";

public static void main(String[] args) throws IOException {

try {

HttpClient client = new HttpClient();

// post请求

PostMethod post = new UTF8PostMethod("https://p.apicloud.com/api/push/message");

// 提交参数

NameValuePair title = new NameValuePair("title","推送没");                 // 消息标题

NameValuePair content = new NameValuePair("content","推送了哇");             // 消息内容

NameValuePair type = new NameValuePair("type","2");                     // 消息类型,1:消息 2:通知

NameValuePair platform = new NameValuePair("platform","0");             // 0:全部平台,1:ios, 2:android

// 推送组,推送用户(没有可不写)

//NameValuePair groupName = new NameValuePair("groupName","组名");     // 推送组名,多个组用英文逗号隔开.默认:全部组

//NameValuePair userIds = new NameValuePair("userIds","id名称");         // 推送用户id, 多个用户用英文逗号分隔

post.setRequestBody(new NameValuePair[]{title, content, type, platform/*, groupName, userIds*/});

HttpMethod method = post;

// 生成规则

String    key = testInvokeScriptMethod();

// 设置请求头部信息

method.setRequestHeader("X-APICloud-AppId", appid);

method.setRequestHeader("X-APICloud-AppKey", key);

// 执行方法

client.executeMethod(method);

// 打印服务器返回的状态

System.out.println(method.getStatusLine());

// 打印结果页面

String response = new String(method.getResponseBodyAsString().getBytes("8859_1"));

// 打印返回的信息

System.out.println(response);

// 释放连接

method.releaseConnection();

} catch (Exception e) {

e.printStackTrace();

}

}

/**

* Java中调用脚本语言的方法,通过JDK平台给script的方法中的形参赋值

*

* @param engine ScriptEngine实例

* @return String

* */

private static String testInvokeScriptMethod() throws Exception {

// 获取时间戳

long now = new Date().getTime();

String key = appid + "UZ" + appkey + "UZ" + now;

ScriptEngineManager sem = new ScriptEngineManager();

ScriptEngine engine = sem.getEngineByName("js");

// sha1.js 路径 (可根据自己的需求改为项目存放的相对路径)

String sha1 = "f:/sha1.js";

// 调用js文件

FileReader fr = new FileReader(sha1);

engine.eval(fr); // 指定脚本

Invocable inv = (Invocable) engine;

// 调用js函数方法(SHA1)

String res = (String) inv.invokeFunction ("SHA1", key);

return res + "." + now;

}

public static class UTF8PostMethod extends PostMethod{

public UTF8PostMethod(String url){

super(url);

}

@Override

public String getRequestCharSet() {

return "UTF-8";

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值