从我的VM调用perl代码';在Windows中通过java程序访问Ubuntu机器
我在虚拟机的ubuntu框中编写了一个perl脚本,它流式处理一组mp4文件,并试图通过java程序从windows调用该脚本。但是我没有在java端接收流文件 我的perl代码如下所示: 通过Windows操作系统中的java程序尝试调用perl:从我的VM调用perl代码';在Windows中通过java程序访问Ubuntu机器,java,perl,zipfile,Java,Perl,Zipfile,我在虚拟机的ubuntu框中编写了一个perl脚本,它流式处理一组mp4文件,并试图通过java程序从windows调用该脚本。但是我没有在java端接收流文件 我的perl代码如下所示: 通过Windows操作系统中的java程序尝试调用perl: URL URL=newurl(“http://:port>/abc/abc.pl”); 字符串urlStr=url.toString(); HttpURLConnection urlConn=(HttpURLConnection)url.openC
URL URL=newurl(“http://:port>/abc/abc.pl”);
字符串urlStr=url.toString();
HttpURLConnection urlConn=(HttpURLConnection)url.openConnection();
setRequestMethod(“GET”);
urlConn.setUseCaches(真);
urlConn.setDoOutput(真);
InputStream is=urlConn.getInputStream();
回报是;
从上面的inputstream中,我试图将内容导出到zip文件中,但在导出zip文件后,我将作为空文件下载
有人能帮我解决这个问题吗?有多种可能导致脚本无法工作
如果这是您脚本的全部内容,则会出现问题。没有内置的perl
stream()
,您也没有从任何地方导入它。如果从命令行运行perl脚本,它是否工作在ubuntu框中,运行
curl“http://localhost:port/abc/abc.pl“
您是否收到zip数据流、错误或什么都没有?如果没有zip流,则需要配置http服务器以提供cgi脚本在windows框中,只需转到浏览器中的地址即可。如果你得到一个zip文件,那么它工作正常
我在java方面没有足够的经验,不知道可以改变什么。就我所知,它看起来是正确的,但可能需要有人纠正这一点
谢谢你的回复,特伦顿。(1) “stream()”正在对内容进行流式处理,因此没有问题。(2) 当我点击curl“”时,它在浏览器中显示我的perl代码,而不是流式压缩数据或错误。(3) 我不明白这一点。
use Archive::Zip::SimpleZip qw($SimpleZipError);
my $z = new Archive::Zip::SimpleZip '-', Stream=>1
or die "Cannot create zip file: $SimpleZipError\n" ;
$z->add("Users/abc/abc/abc.mp4");
$z->add("Users/abc/abc/abc1.mp4");
$z->close();
stream();
URL url = new URL("http://<ubuntu machine ipaddress>:port>/abc/abc.pl");
String urlStr = url.toString();
HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();
urlConn.setRequestMethod("GET");
urlConn.setUseCaches(true);
urlConn.setDoOutput(true);
InputStream is = urlConn.getInputStream();
return is;