CURL POST запрос в kotlin с использованием Runtime.getRuntime.exe c ошибки с данными - PullRequest
1 голос
/ 04 апреля 2020

Я создаю плагин в intellij и хочу сделать запрос curl. Плагин написан на kotlin.

Следующий запрос curl работает:

            val comd = arrayOf(
                "curl",
                "-X",
                "GET",
                "-H",
                "Authorization: AUTH_TOKEN",
                "https://api.bitrise.io/v0.1/me"
            )

Но следующий запрос POST с данными не работает:

            val comd = arrayOf(
                "curl",
                "-X",
                "POST",
                "https://api.bitrise.io/v0.1/apps/appslug/builds",
                "-H",
                "Authorization: AUTH_TOKEN",
                " -d $data"
            )

Я использую эту функцию для запуска запроса:

    private fun executeCommandLine(project: Project, comd: Array<String>) {
        val process = Runtime.getRuntime().exec(comd)
        val processHandler: ProcessHandler = OSProcessHandler(process, "clear", Charset.forName("UTF-8"))
        consoleView.attachToProcess(processHandler)
        processHandler.startNotify()
    }

Просто выдает ошибку:

curl: (3) nested brace in URL position 18:
 -d {"hook_info":{"type":"bitrise"},"build_params":{"branch":"master"}}

Я пытался выполнить запрос с -g переключатель для ошибки globbing. Но потом я сталкиваюсь с другим:

curl: (3) URL using bad/illegal format or missing URL

Что мне здесь не хватает?

PS: мне пришлось разбить мою команду curl на массив, иначе она не работает. Проверьте это: Невозможно выполнить команду CURL через java Runtime.getRuntime (). Exe c ()

Заранее спасибо:)

...