Talend tREST http 压缩
Talend tREST http compression
我在 tREST 组件上启用了 http 压缩,但现在主输出已编码。有没有办法找回纯字符串?
"Content-Encoding: gzip"
"Accept-Encoding: gzip,deflate"
不幸的是,如果它不是开箱即用的,你就不能那么容易地做到这一点。
发现某事是否有效以及如何工作的最简单方法可能是查看您正在使用的组件的源代码。
在这种情况下,我们看一下 tRest_begin.javajet:
您会找到以下段落:
...
com.sun.jersey.api.client.Client restClient_<%=cid%> = com.sun.jersey.api.client.Client.create(config_<%=cid%>);
com.sun.jersey.api.client.WebResource restResource_<%=cid%>;
...
所以现在我们知道,那个 talend 使用 jersey.api.client 作为 tRest 组件。该库似乎不解释 Content-Encoding Header 并自动解压缩数据。相反,您似乎被迫使用:
http://jersey.java.net/nonav/apidocs/1.5/jersey/com/sun/jersey/api/client/filter/GZIPContentEncodingFilter.html
那还剩下什么?
要解决您的问题,您可以获取 tRest 组件并按其工作方式对其进行修改,并从中创建一个新组件,从而提供您需要的功能。
我还建议您阅读以下内容,这有助于您了解组件的工作原理以及如何自己创建它们:
我在 tREST 组件上启用了 http 压缩,但现在主输出已编码。有没有办法找回纯字符串?
"Content-Encoding: gzip" "Accept-Encoding: gzip,deflate"
不幸的是,如果它不是开箱即用的,你就不能那么容易地做到这一点。
发现某事是否有效以及如何工作的最简单方法可能是查看您正在使用的组件的源代码。
在这种情况下,我们看一下 tRest_begin.javajet:
您会找到以下段落:
...
com.sun.jersey.api.client.Client restClient_<%=cid%> = com.sun.jersey.api.client.Client.create(config_<%=cid%>);
com.sun.jersey.api.client.WebResource restResource_<%=cid%>;
...
所以现在我们知道,那个 talend 使用 jersey.api.client 作为 tRest 组件。该库似乎不解释 Content-Encoding Header 并自动解压缩数据。相反,您似乎被迫使用: http://jersey.java.net/nonav/apidocs/1.5/jersey/com/sun/jersey/api/client/filter/GZIPContentEncodingFilter.html
那还剩下什么?
要解决您的问题,您可以获取 tRest 组件并按其工作方式对其进行修改,并从中创建一个新组件,从而提供您需要的功能。
我还建议您阅读以下内容,这有助于您了解组件的工作原理以及如何自己创建它们: