从java windows调用curl可以工作,但不能从linux调用

从java windows调用curl可以工作,但不能从linux调用,java,linux,curl,Java,Linux,Curl,这让我抓狂,我编写的代码在java中100%有效,但在linux中却没有,我尝试了各种方法来逃避 以下是cdoe:- ProcessBuilder pb = new ProcessBuilder(args = new String[] {"curl", "-v", "http://www.solarmovie.is/forum/login/", "-c", "\"cookies2.txt\"", "-b", "\"cookies2.txt\"", "-H", "\"

这让我抓狂,我编写的代码在java中100%有效,但在linux中却没有,我尝试了各种方法来逃避

以下是cdoe:-

ProcessBuilder pb = new ProcessBuilder(args = new String[] {"curl", "-v", "http://www.solarmovie.is/forum/login/",
     "-c", "\"cookies2.txt\"",
     "-b", "\"cookies2.txt\"",
     "-H", "\"Host: www.solarmovie.is\"",
     "-H", "\"Origin: http://www.solarmovie.is\"",
     "-H", "\"User-Agent: User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36\"",
     "-H", "\"Accept-Encoding: gzip, deflate\"",
     "-H", "\"Accept-Language: en-GB,en-US;q=0.8,en;q=0.6\"",
     "--compressed", "",
     "-H", "\"X-Requested-With: XMLHttpRequest\"",
     "-H", "\"Connection: keep-alive\"",
     "-H", "\"Content-Type: application/x-www-form-urlencoded; charset=UTF-\"",
     "-H", "\"Referer: http://www.solarmovie.is/\"",
     "--data", "\"referer=http\"%\"3A\"%\"2F\"%\"2Fwww.solarmovie.is\"%\"2F&login\"%\"5Blogin\"%\"5D="+username+"&login\"%\"5Bpassword\"%\"5D="+password + "\""
});
在windows it上:-

{"status":false,"data":{},"messages":["Wrong username or password."]}
关于linux打印

 % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                             Dload  Upload   Total   Spent    Left  Speed

0     0    0     0    0   135      0   3639 --:--:-- --:--:-- --:--:--  3639
106  2733    0  2733    0   135  14649    723 --:--:-- --:--:-- --:--:-- 17436

curl: (3) <url> malformed
%Total%接收到%x平均速度时间电流
数据加载上载总左速度
0     0    0     0    0   135      0   3639 --:--:-- --:--:-- --:--:--  3639
106  2733    0  2733    0   135  14649    723 --:--:-- --:--:-- --:--:-- 17436
卷曲:(3)畸形
顶部有大量数据(页面加载时出现404错误)

那么,我认为linux java试图请求多个请求?这是做错了事


谢谢

您所说的“在java中100%工作,但在linux中不工作”是什么意思。它在哪个操作系统上工作?您可以发布一个简单的java类,其代码可以在任何操作系统上运行吗?在windows上,它运行良好,centos 404错误和格式错误的URL。您可以通过使用调试器或更好的for字符串s:[]System.out.print(s+“”)将实际提供给pbuilder的未替换字符串[]串联发布到(字符串arg:args)上吗{System.out.print(arg+“”);}已经这样做了,我尝试直接在centos上从输出运行该命令,效果很好……但从java运行总是失败。