запрос curl не работает при отправке из eclipse, но работает через командную строку - PullRequest
0 голосов
/ 28 мая 2020

Вот код, который я запускал в eclipse на ma c для выполнения команды.

String cmd = "curl -i -X POST <webaddress> -H 'Cache-Control: no-cache' -H 'Content-Type: application/json' -H 'Postman-Token: <Postman-token>' -d '{ \"Username\":\"<username>\", \"Password\":\"<password\" }'";

System.out.println(MyUtils.executeCommand(cmd));

Вот метод MyUtils.executeCommand.

public static String executeCommand(String command) {
    StringBuffer output = new StringBuffer();

    Process p;
    try {
        p = Runtime.getRuntime().exec(command);
        p.waitFor();
        BufferedReader reader = 
                        new BufferedReader(new InputStreamReader(p.getInputStream()));
                    String line = "";           
        while ((line = reader.readLine())!= null) {
            //if(line.startsWith("authorization:")){
                output.append(line + "\n");
            //}
        }
    } catch (Exception e) {
        e.printStackTrace();
    }

    return output.toString();
}

Когда я запускаю из Eclipse, я получаю:

date: Thu, 28 May 2020 20:09:53 GMT
content-type: application/json; charset=utf-8
content-length: 152
cache-control: no-cache
pragma: no-cache
expires: -1
server: Microsoft-IIS/10.0
x-powered-by: ASP.NET

{"errorCode":0,"Title":"Error logging in.","Description":"There was an issue with the login data that was provided.  Please try again.","ShowCTA":false}

Тогда как, когда я запускаю с терминала ma c, я получаю верхнюю часть и код авторизации. Я не уверен, почему в затмении все будет иначе. Есть ли какая-то конфигурация в eclipse, которую мне нужно изменить, или может быть какая-то безопасность на стороне сервера, блокирующая eclipse?

Я могу запустить другую команду из eclipse в порядке. Когда входная строка была «ls» или «curl http://www.tutorialspoint.com -i», я получил те же результаты от eclipse, что и от терминала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...