Windows cURLでは、次のようなWebリクエストを投稿できます。
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
これtype cook.txt
で、次のような応答が返されます。
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
私は手動で次のようなCookie行を読み取ることSet-Cookie: AuthCode=ABC...
ができます:(もちろんこれをスクリプト化することもできます)。だから私はAuthCode
その後のリクエストに使用することができます。
私はRでRCurlやhttrを使って同じことをしようとしています(どちらが私のタスクに適しているかはまだわかりません)。
私が試してみると:
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"))
私はこれに似た応答を受け取ります:
Response [http://www.example.com/error]
Status: 411
Content-type: text/html
<h1>Length Required</h1>
概して、私は411エラーについて知っており、要求を修正しようとすることができました。しかし、cURLで取得できないため、POSTコマンドで何か問題が発生しています。
cURLコマンドをRCurlやhttrに変換するのを手伝ってもらえますか?