CURL JSON выход отключен - PullRequest
       22

CURL JSON выход отключен

0 голосов
/ 25 декабря 2018

Я работаю над Centos 7 и получил этот запрос json:

curl  --output 'json.data.json' -vvv -x ''  -X POST -H "Content-Type: application/json" -H "Connection: keep-alive" -d '{"jsonrpc":"2.0","method":"item.get","params":{"output": ["name","lastvalue","lastclock","hostid"],"groupids": ["5"],"filter":{"name":["LDT Security Flag"]},"sortfield": "name" },"auth":"c1cxxxxxxxxx","id":1}' $CURLADDR 

Теперь, в середине результатов я вижу:

734247","lastvalue":"0"},{"itemid":"192890","name":"LDT Fl* transfer closed with outstanding read data remaining
100 86797    0 86569  100   228  75094    197  0:00:01  0:00:01 --:--:-- 75146
* Closing connection 0
curl: (18) transfer closed with outstanding read data remaining

И после этого еще несколько результатов json,Но я заметил, что независимо от того, сколько раз я запускаю его и перенаправляю вывод в файл .json, файл всегда имеет одинаковый размер: 88K, как, например, ограничение на размер загрузки информации ?что я могу сделать?

ОБНОВЛЕНИЕ:

Итак, я добавил его, и теперь ошибка: curl: (18) передача закрыта с оставшимися данными Чтение оставшихся данных пропало.но все еще в середине: * Closing Connection 0 и файл 88K - Батчен Регев 11 минут назад

также данные соединения:

> POST /api_jsonrpc.php HTTP/1.0
> User-Agent: curl/7.29.0
> Host: XXXXXX:1080
> Content-Type: application/json;charset=utf-8
> Accept: application/json, text/plain, */*
> Content-Length: 224
>
} [data not shown]
* upload completely sent off: 224 out of 224 bytes
100   224    0     0  100   224      0    223  0:00:01  0:00:01 --:--:--   223< HTTP/1.1 200 OK
< Server: nginx
< Date: Tue, 25 Dec 2018 15:21:07 GMT
< Content-Type: application/json
< Connection: close
< Access-Control-Allow-Origin: *
< Access-Control-Allow-Headers: Content-Type
< Access-Control-Allow-Methods: POST
< Access-Control-Max-Age: 1000
<
{ [data not shown]
100 86840    0 86616  100   224  77583    200  0:00:01  0:00:01 --:--:-- 77612
* Closing connection 0

Ответы [ 2 ]

0 голосов
/ 25 декабря 2018

CURLE_PARTIAL_FILE (18)

Передача файла была короче или больше ожидаемого.Это происходит, когда сервер сначала сообщает об ожидаемом размере передачи, а затем доставляет данные, которые не соответствуют ранее заданному размеру.

Источник: https://curl.haxx.se/libcurl/c/libcurl-errors.html

0 голосов
/ 25 декабря 2018

Это похоже на проблему со стороны сервера.Вы можете попытаться обойти это, принудительно установив соединение HTTP 1.0 (чтобы избежать частичной передачи, которая может вызвать эту проблему) с параметром --http1.0.

...