开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 809|回复: 3
收起左侧

[求助] 用JAVA进行POST返回文本缺失数据

[复制链接]
结帖率:77% (10/13)
发表于 2022-11-24 14:13:04 | 显示全部楼层 |阅读模式   江苏省徐州市
易语言返回的文本是:
[JavaScript] 纯文本查看 复制代码
“{
        "Result":        30000,
        "ErrMsg":        "Success",
        "Data":        {
                "total":        5,
                "data":        [
                        {
                                "strategy":        "one",
                                "status":        1,
                                "comment":        "信息部一",
                                "cycle_time":        "2021-03-16",
                                "time":        "00:00",
                                "enabled":        "no",
                                "id":        1,
                                "mac":        "马赛克"
                        },
                        {
                                "strategy":        "week",
                                "status":        1,
                                "comment":        "会议室电脑",
                                "cycle_time":        "6",
                                "time":        "14:00",
                                "enabled":        "no",
                                "id":        2,
                                "mac":        "马赛克"
                        },
                        {
                                "strategy":        "one",
                                "status":        1,
                                "comment":        "信息部二",
                                "cycle_time":        "2021-06-19",
                                "time":        "00:00",
                                "enabled":        "no",
                                "id":        3,
                                "mac":        "马赛克"
                        },
                        {
                                "strategy":        "one",
                                "status":        1,
                                "comment":        "主电脑",
                                "cycle_time":        "2021-12-11",
                                "time":        "00:00",
                                "enabled":        "no",
                                "id":        4,
                                "mac":        "马赛克"
                        },
                        {
                                "strategy":        "one",
                                "status":        1,
                                "comment":        "H2BK",
                                "cycle_time":        "2022-09-15",
                                "time":        "00:00",
                                "enabled":        "no",
                                "id":        5,
                                "mac":        "马赛克"
                        }
                ]
        }
}
用JAVA返回的是:
[JavaScript] 纯文本查看 复制代码
{
        "Result":        30000,
        "ErrMsg":        "Success",
        "Data":        {
                "total":        5,
                "data":        [
                        {
                                "status":        1,
                                "time":        "14:00",
                                "id":        2,
                                "mac":        "马赛克",
                                "strategy":        "week",
                                "comment":        "会议室电脑",
                                "enabled":        "no",
                                "cycle_time":        "6"
                        },
                        {
                                "status":        1,
                                "time":        "00:00",
                                "id":        3,
                                "mac":        "马赛克",
                                "strategy":        "one",
                                "comment":        "信息部二",
                                "enabled":        "no",
                                "cycle_time":        "2021-06-19"
                        },
                        {
                                "status":        1,
                                "time":        "00:00",
                                "id":        4,
                                "mac":        "马赛克",
                                "strategy":        "one",
                                "comment":        "主电脑",
                                "enabled":        "no",
                                "cycle_time":        "2021-12-11"
                        },
                        {
                                "status":        1,
                                "time":        "00:00",
                                "id":        5,
                                "mac":        "马赛克",
                                "strategy":        "one",
                                "comment":        "H2BK",
                                "enabled":        "no",
                                "cycle_time":        "2022-09-15"
                        }
                ]
        }
}
缺少一个data,第一个data被吃了···

下面是代码 求解
[mw_shl_code=java,true]import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

/*
* 调用时如果需要cookie 则在dopost前使用
*
* */
public class HttpClient {




补充内容 (2022-11-24 14:18):
JAVA 用的是HttpClient
结帖率:77% (10/13)
 楼主| 发表于 2022-11-24 14:14:37 | 显示全部楼层   江苏省徐州市
java被吃了,补充一下!!

[Java] 纯文本查看 复制代码
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSONPath;
import com.pzwxx.ikuai.post.HttpClient;
import com.pzwxx.ikuai.post.Ikuaipost;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.Date;
import java.util.List;

@Controller
public class ikuai {
    @RequestMapping("/")
    @ResponseBody
    String index() {

        return "部署成功!";
    }


    @RequestMapping("/post")
    @ResponseBody
    String post(String type, String username, String passwd, String id, String url, int page, int length) {
        //启动网络唤醒
        System.out.println(type);
        if (type.equals("weakon")) {
            return wakeup(username, passwd, id, url);
        } else if (type.equals("getweak")) {
            return getwakeup(page, length, url, username, passwd);
        } else {
            return "参数非法";
        }
    }

    /**
     * 网络唤醒
     *
     * @param username -用户名
     * @param passwd   -密码
     * @param id       -电脑序号,从1开始
     * @param url      -路由器地址,http://x.x.x.x
     * @Return json的文本
     */
    private static String wakeup(String username, String passwd, String id, String url) {
        String abc;
        //登陆获取cookie
        HttpClient login = new HttpClient();
        abc = login.doPost(url + "/Action/login", Ikuaipost.login(username, passwd));
        System.out.print(abc);
        //输出获取到的cookie 仅在首次登陆时使用

        String cookies = login.getCookie();
        //设置 cookie 每次执行操作时设置
        HttpClient call = new HttpClient();

        call.setCookie(cookies);
        abc = call.doPost(url + "/Action/call", Ikuaipost.wakeup(id));
        System.out.print(abc);
        return abc;
    }

    /**
     * 获取网络唤醒列表
     *
     * @param page     -当前页
     * @param length   -每页数量
     * @param url      -路由地址
     * @param username -用户名
     * @param passwd   -密码
     * @return
     */
    private static String getwakeup(int page, int length, String url, String username, String passwd) {
        String abc;
        //登陆获取cookie
        HttpClient login = new HttpClient();
        abc = login.doPost(url + "/Action/login", Ikuaipost.login(username, passwd));
        System.out.print(abc);
        //输出获取到的cookie 仅在首次登陆时使用
        String cookies = login.getCookie();
        //设置 cookie 每次执行操作时设置
        HttpClient call = new HttpClient();
        call.setCookie(cookies);
        String abc;
        abc = call.doPost(url + "/Action/call", Ikuaipost.getwakeup(page, length));
        System.out.println(Ikuaipost.getwakeup(page, length));
        //解析json
        JSONObject jsonObject = JSON.parseObject(abc);
        System.out.println(abc);
        
        System.out.println(jsonObject.toString());
        //得到所有的书名
        List<String> list = (List<String>) JSONPath.eval(jsonObject, "$.Data.data.comment");
        System.out.println("list=" + list);

        return list.toString();
    }
}





回复 支持 反对

使用道具 举报

结帖率:77% (10/13)
 楼主| 发表于 2022-11-24 14:21:25 | 显示全部楼层   江苏省徐州市
JAVA的HttpClient源码

HttpClient.rar

1.71 KB, 下载次数: 1, 下载积分: 精币 -2 枚

回复 支持 反对

使用道具 举报

结帖率:77% (10/13)
 楼主| 发表于 2022-11-30 13:43:57 | 显示全部楼层   江苏省徐州市
已自己解决

补充内容 (2022-11-30 13:47):
提交信息中 page从0开始,在JAVA中提交的时候是1所以缺少了
回复 支持 反对

使用道具 举报

  高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表