Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在服务器端解压json数据请求?_Java_Rest_Compression - Fatal编程技术网

Java 如何在服务器端解压json数据请求?

Java 如何在服务器端解压json数据请求?,java,rest,compression,Java,Rest,Compression,我有一个python客户端代码,它使用压缩的JSON数据点击URL 我想解压缩并在java中打印JSON数据(从客户机请求获得) 客户端代码: #!/usr/bin/python import sys, getopt import requests import json from zlib import compress s = requests.session() url = "http://1.1.1.1:8080/eventfull/send/data/"

我有一个python客户端代码,它使用压缩的JSON数据点击URL

我想解压缩并在java中打印JSON数据(从客户机请求获得)

客户端代码:

  #!/usr/bin/python

  import sys, getopt
  import requests
  import json
  from zlib import compress

  s = requests.session()
  url = "http://1.1.1.1:8080/eventfull/send/data/"
  payload = dict(
    username="test",
    password="test123",
    emailid=sys.argv[1],
    campaignfrom="info@newsletter.x.com",
    send_id="1234",
    istest="1",
    render_id=sys.argv[2],
    subject="Eventfull :: Services HeartBeat",
    htmlbody="<html><body><p>Hi Team,</p></br></br><p>This is a Test Campaign to ensure eventfull calls are working as expected</p></br></br><p>Thanks,</p><br><p>Tech Team</p></body></html>",
    textbody="Testing"
  )
  json_string = json.dumps(payload)
  compressed = compress(json_string,9)
  response = s.post(url, data=compressed )

  print response.status_code
  print response.content
#/usr/bin/python
导入sys,getopt
导入请求
导入json
从zlib导入压缩
s=请求。会话()
url=”http://1.1.1.1:8080/eventfull/send/data/"
有效载荷=dict(
username=“test”,
password=“test123”,
emailid=sys.argv[1],
活动开始时间=”info@newsletter.x.com",
发送_id=“1234”,
istest=“1”,
render_id=sys.argv[2],
subject=“Eventfull::Services HeartBeat”,
htmlbody=“嗨,团队,


这是一项测试活动,旨在确保eventfull呼叫按预期工作


谢谢,


技术团队

”, textbody=“测试” ) json_string=json.dumps(有效负载) compressed=compress(json_字符串,9) 响应=s.post(url,数据=压缩) 打印response.status\u代码 打印响应内容
由于您使用zlib压缩数据,您可以使用Gzip或InflaterInputStream来解压缩数据,其他stackoverflow用户面临与您类似的问题,您可以找到一种方法将其解压缩为Gzip和InflaterInputStream,谷歌在java中搜索zlib时也发现了这个问题。

谢谢大家的帮助,通过你们的帮助,我可以完成我的任务。这可能需要很长时间才能完成,但值得。下面是我的工作代码。[值得分享]

@POST  
@Path("/Data")  
@Consumes("application/zip")


public Response uploadFile2(InputStream incomingData) {




    try {
        //Decompressing...
        InflaterInputStream inf = new InflaterInputStream(incomingData);

        //Extracting Json Data....
        JSONParser jsonParser = new JSONParser();
        JSONObject jsonObject = (JSONObject)jsonParser.parse(
                new InputStreamReader(inf, "UTF-8"));


        String name = (String) jsonObject.get("username");
    }
    catch(SQLException se){
        System.out.println(se.getLocalizedMessage());
    }


    catch (Exception e) {
        e.printStackTrace();
    }


    // return HTTP response 200 in case of success
    return Response.status(200).entity("Success").build();

我早就知道这个密码了。首先,我需要获取请求主体(我不知道),然后我可以解压缩。谢谢!