从java windows调用curl可以工作,但不能从linux调用
这让我抓狂,我编写的代码在java中100%有效,但在linux中却没有,我尝试了各种方法来逃避 以下是cdoe:-从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", "\"
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运行总是失败。