我是靠谱客的博主 老迟到香水,这篇文章主要介绍java 接入到onenet_上传数据点,HTTP 方法,java 代码测试成功,现在分享给大家,希望可以做个参考。

/**

* 向指定 URL 发送POST方法的请求

* @param apikey 在OneNET申请的APIKey

*

* @param url

* 发送请求的 URL

* @param param

* 请求参数

* @return 所代表远程资源的响应结果

*/

public static String sendPost(String apikey,String url, String param) {

PrintWriter out = null;

BufferedReader in = null;

String result = "";

try {

URL realUrl = new URL(url);

// 打开和URL之间的连接

URLConnection conn = realUrl.openConnection();

// 设置通用的请求属性

conn.setRequestProperty("accept", "*/*");

conn.setRequestProperty("connection", "Keep-Alive");

conn.setRequestProperty("api-key", apikey);

conn.setRequestProperty("user-agent",

"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");

// 发送POST请求必须设置如下两行

conn.setDoOutput(true);

conn.setDoInput(true);

// 获取URLConnection对象对应的输出流

out = new PrintWriter(conn.getOutputStream());

// 发送请求参数

out.print(param);

// flush输出流的缓冲

out.flush();

// 定义BufferedReader输入流来读取URL的响应

in = new BufferedReader(

new InputStreamReader(conn.getInputStream()));

String line;

while ((line = in.readLine()) != null) {

result += line;

}

} catch (Exception e) {

System.out.println("发送 POST 请求出现异常!"+e);

e.printStackTrace();

}

//使用finally块来关闭输出流、输入流

finally{

try{

if(out!=null){

out.close();

}

if(in!=null){

in.close();

}

}

catch(IOException ex){

ex.printStackTrace();

}

}

return result;

}

//循环调用示例:

//测试远程上传获取数据

for(int i=0;i<1000;i++)

{

//随机生成温度值,模拟温度计数值

Random random = new Random();

int s = random.nextInt(10)%(10-1+1) + 1;

double d=20+s*(0.1);

System.out.print("rn"+"我第"+i+"次上传数据"+d);//

//上传数据点

String ReString=HttpRequest.sendPost(

"S6DtIvUdTarq=FuxAFW8uOfrf7U="

,"http://api.heclouds.com/devices/1092099/datapoints?type=3"

,"{'temperature':'"+d+"'}");

System.out.print("rn"+"我第"+i+"次接收到数据["+ ReString +"]");

//延时15秒

Thread.sleep(1000*15);

}

最后

以上就是老迟到香水最近收集整理的关于java 接入到onenet_上传数据点,HTTP 方法,java 代码测试成功的全部内容,更多相关java内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(125)

评论列表共有 0 条评论

立即
投稿
返回
顶部