Я пытаюсь очистить некоторые веб-данные, используя API, который, как я вижу, вызывается при просмотре вкладки сети Safari.
Либо API, похоже, не получает параметры формы правильно, если передается как json, либо я получаю ошибку от R, если я пытаюсь передать их как URLEncoded. Я не вижу, что я делаю не так? Я подозреваю, что частью проблемы является то, что моя форма представляет собой список, содержащий список.
Запрос данных, как показано на вкладке Safari Network
MIME Type: application/x-www-form-urlencoded; charset=UTF-8
method: POST
section[]: 1
section[]: 4
period[]: 20170501
HTTR Post для имитации выше
form <- list(
section = list(1,4),
period = 20170501
)
resp<-POST(URL, body=form, encode="json", verbose())
Затем код выполняется без ошибок, и API возвращает результаты, но, похоже, игнорирует конкретные параметры.
Вывод из verbose предполагает включение параметров:
{"section":[1,4],"period":20170501}
Корректировка для типа формы
Я вижу, что выше не используется правильный тип формы, поэтому я изменяю кодирование на "form", чтобы форма отправлялась как x-www-form-urlencoded. Однако затем я получаю следующую ошибку.
Error in vapply(elements, encode, character(1)) :
values must be length 1,
but FUN(X[[1]]) result is length 2