用java写了一个简单的爬虫 对方服务端要求用curl 请求数据 代码在windows上可以运行,但是再linux上不可以,于是搞一个可以执行linux命令的一个小工具
这是可以执行linux带通道符的命令 改的时候只需要吧curl那段改成一个linux命令的字符串就可以了
private String getUrl(String url) {
String uuid = "";
String[] cmds = {"/bin/sh","-c","curl -F doc=@\""+url+"\" \"http://ts.whytouch.com/mass_up.php?token=c7000468a3f303deaf40ef0b7c506bbd&mode=0&aut=asdfasdf&fn=linux.ppt\" " };
ProcessBuilder pb = new ProcessBuilder(cmds);
pb.redirectErrorStream(true);
Process p;
try {
p = pb.start();
BufferedReader br = null;
String line = null;
br = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((line = br.readLine()) != null) {
if (line.indexOf("ok:") != -1) {
uuid = line.substring(line.indexOf("ok:") + 3);
System.out.println(uuid);
}
}
br.close();
} catch (IOException e) {
e.printStackTrace();
}
return uuid;
}