2016-10-11 7 views
1

httr::GET сохраняет куки при обращении к тому же сайту.Как удалить куки, сохраненные httr :: GET?

  1. Можно ли запросить сохраненные куки?
  2. Как я могу очистить сохраненные куки и снова сделать «первозданные» запросы?

Пример:

# Get login cookie 
r1 <- GET("https://some.url/login", authenticate("foo", "bar")) 

cookies(r1) 
# returns a data frame of two cookies 

# Make request that requires authentication cookie 
# Only succeeds if r1 was made 
r2 <- GET("https://some.url/data/?query&subset=1") 
r2 

Обратите внимание, что при создании r2 вы не должны передать какую-либо информацию куки явно, поскольку они хранятся где-то автоматически.

Я хотел бы знать, как можно хранить или удалять эти хранимые файлы cookie?

+1

Я не уверен в очистке существующих файлов cookie, но см. Пример в '? Httr :: cookies' для их запроса. – nrussell

+0

Спасибо @nrussell 'cookies()' не совсем то, что я имел в виду. Но я добавил пример, чтобы прояснить ситуацию. –

ответ

1

Используйте новый ручку для запроса.

h1 <- handle('') 
r1 <- GET("https://some.url/login", handle=h1, authenticate("foo", "bar")) 

h2 <- handle('') 
r2 <- GET("https://some.url/data/?query&subset=1", handle=h2) 
+0

Спасибо! Это решает (2). У вас есть идеи, как подойти (1)? –

+0

Не куки (r1) возвращают сохраненные куки? – Timespace7

+0

Но используются ли они при создании 'r2'? Я не понимаю, как это работает. –

0

One (очень окрест) путь к «сбросить» пакет:

detach("package:httr", unload=TRUE) 
library(httr) 

Я все еще в поисках чего-то лучшего.

+0

Это не работает программно – BonStats

+0

да ... это довольно грубо. Проблемно также, если вам нужно иметь другие пакеты в зависимости от загруженного httr. –

+0

Мне было бы интересно узнать, придумали ли вы что-то, я все еще пытаюсь понять что-то для себя ... Я попытался взглянуть на глобальные настройки httr, но пока не повезло – BonStats

 Смежные вопросы

  • Нет связанных вопросов^_^