Send a POST request using the httr R package

I cannot figure out how to simulate what the browser does when sending server data via a POST request. Below are the corresponding URLs with an explanation below.

(1) http://kenpom.com/ (2) http://kenpom.com/register.php?frompage=1 <form id="login" method="POST" action="handlers/login_handler.php"> <label>E-mail </label><input type="text" name="email" /> <label>Password </label><input type="password" name="password" /> <input type="submit" name="submit" value="Login!" /> (3) http://kenpom.com/team.php?team=Rice 

(1) home page (select the team page when you are not logged in, redirect β†’ (2))

(2) the login page (go to the page with a specific command if the login is successful)

(3) a special page for the team: for example. Rice

 url <- ("http://kenpom.com/team.php?team=Rice") login <- list( email = "login", password = "password" ) teampage <- POST(url, body = login) Response [http://kenpom.com/register.php?frompage=1] Date: 2015-03-07 23:04 Status: 200 Content-Type: text/html Size: 7.45 kB <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML> <HEAD> <LINK REL=stylesheet TYPE="text/css" HREF="css/rate.css?1414365416"> <TITLE>kenpom.com subscription</TITLE> 

Ultimately, you want to clear any information using the rvest package, but in the end you will get empty results, trying to clear: http://kenpom.com/register.php?frompage=1

+13
source share
1 answer

Try

 library(httr) login <- list( email = "login", password = "password", submit = "Login!" ) res <- POST("http://kenpom.com/handlers/login_handler.php", body = login, encode = "form", verbose()) team <- GET("http://kenpom.com/team.php?team=Rice", verbose()) 
+20
source

Source: https://habr.com/ru/post/1214923/


All Articles