Wyślij zapytanie za pomocą plików cookie z cURL, RCurl i httr
W Windows cURL mogę opublikować żądanie internetowe podobne do tego:
curl --dump-header cook.txt ^
--data "RURL=http=//www.example.com/r&user=bob&password=hello" ^
--user-agent "Mozilla/5.0" ^
http://www.example.com/login
Ztype cook.txt
Otrzymuję odpowiedź podobną do tej:
HTTP/1.1 302 Found
Date: Thu, ******
Server: Microsoft-IIS/6.0
SERVER: ******
X-Powered-By: ASP.NET
X-AspNet-Version: 1.1.4322
Location: ******
Set-Cookie: Cookie1=; domain=******; expires=****** ******
******
******
Cache-Control: private
Content-Type: text/html; charset=iso-8859-1
Content-Length: 189
Mogę ręcznie odczytać wiersze plików cookie, takie jak:Set-Cookie: AuthCode=ABC...
(Mógłbym to oczywiście napisać). Więc mogę użyćAuthCode
dla kolejnych żądań.
Próbuję zrobić to samo w R z RCurl i / lub httr (nadal nie wiem, który z nich jest lepszy dla mojego zadania).
Kiedy próbuję:
library(httr)
POST("http://www.example.com/login",
body= list(RURL="http=//www.example.com/r",
user="bob", password="hello"),
user_agent("Mozilla/5.0"))
Otrzymuję odpowiedź podobną do tej:
Response [http://www.example.com/error]
Status: 411
Content-type: text/html
<h1>Length Required</h1>
W zasadzie wiem o błędzie 411 i mogłem spróbować naprawić żądanie; ale nie dostaję go w cURL, więc robię coś nie tak z poleceniem POST.
Czy możesz mi pomóc w tłumaczeniu mojego polecenia cURL na RCurl i / lub httr?