В httr
:
-A
/--user-agent
переводит user_agent()
-b
/--cookie
переводится set_cookies()
но вы должны прочитать в файле печенья и установить их в вызове к нему (RCurl
имеет создает для чтения сохраненные файлы cookie). Я делаю это предположение, так как вы не использовали формат "COOKIE1=1; COOKIE2=b"
после -b
. Вы можете установить их по отдельности в set_cookies()
а
-H
/--header
переводится add_headers()
но есть специальные функции для установки типа содержимого (см ниже)
-v
/--verbose
переводит verbose()
-X
/--request
переводится фактическим VERB
функции (в данном случае GET()
)
Вот один способ читать куки в файл для использования в(если вы, в самом деле, с помощью куков):
ctmp <- read.table("cookies.txt", sep="\t", header=FALSE, stringsAsFactors=FALSE)[,6:7]
crumbs <- setNames(as.character(as.character(ctmp$V6)), ctmp$V7)
Итак, ваш пример будет перевести httr
как:
GET("http://127.0.0.1:8084/clusterpredict/byheaders",
content_type_json(),
user_agent("text2"),
set_cookies(.cookies=crumbs),
verbose())
Если у вас есть отдельные куки против печенья баночки:
GET("http://127.0.0.1:8084/clusterpredict/byheaders",
content_type_json(),
user_agent("text2"),
set_cookies(COOKIE1="value1", COOKIE2="value2),
verbose())
УКАЗАНИЕ, что httr
будет сохранять куки между вызовами в том же домене в том же сеансе R, поэтому не нужно указывать этот файл или t в последующих вызовах укажите значения cookie в ядре.
Вы можете присвоить значение выхода к переменному затем извлечь содержимое из него:
response <- GET("http://127.0.0.1:8084/clusterpredict/byheaders",
content_type_json(),
user_agent("text2"),
set_cookies(COOKIE1="value1", COOKIE2="value2),
verbose())
result <- content(response)
print(str(result))
В общем, можно было бы использовать jsonlite
пакет или xml2
пакета (в зависимости от типа результата), чтобы сделать parsing vs полагается на встроенный анализ httr
, так как вы можете лучше контролировать вывод. В этом случае это JSON, так:
library(jsonlite)
result <- fromJSON(content(response, as="text"))
print(str(result))
Я не думаю, что '-b" text1 "' действительно в первую очередь? Вы пытаетесь опубликовать данные или файл cookie? Обратите внимание, что GET обычно не может сочетаться с проводкой данных. Просьба уточнить ваш пример. – Jeroen
@Jeroen попробует прочитать из этого файла jar файла cookie, если в строке нет значения 'key = value'. _ «Если в строке не используется символ« = », он рассматривается как имя файла, которое будет использоваться для чтения ранее сохраненных строк cookie, которые должны использоваться в этом сеансе, если они совпадают». _ – hrbrmstr