2016-10-11 7 views
1

httr::GETは、同じウェブサイトにリクエストする際にクッキーを保持します。httr :: GETで保存されたクッキーを削除するには?

  1. 保存されたクッキーを照会することはできますか?
  2. これらの保存されたクッキーをどのようにフラッシュして「元の」リクエストを再度行うことができますか?

例:r2を作るとき、あなたは彼らがどこかに自動的に保存されているよう明示的にすべてのクッキー情報を渡すために持っていけないということ

# 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 

注意してください。

これらの保存されたCookieを照会または削除する方法を知りたいですか?私はまだ良い何かを探しています

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

+1

私は、既存のCookieを消去についてはよく分からないが、それらを照会するために、 '?HTTR :: cookies'の例を参照してください。 – nrussell

+0

ありがとう@nrussell 'クッキー()'は私が意味するものではありません。しかし、事を明確にするための例を追加しました。 –

答えて

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

ワン(非常に丸い程度)の方法は、パッケージを「リセット」することです。

+0

これはプログラム的に動作するようには見えない – BonStats

+0

ええ...それはかなり鈍いです。 'httr'が読み込まれたことに応じて他のパッケージを用意する必要がある場合にも問題があります。 –

+0

私はあなたが何かを思いつくのに興味があると思う、私はまだ自分のために何かを考えようとしている...私はhttrが持っているグローバルな設定を見てみたが、これまで運がなかった – BonStats

関連する問題