Я смог понять это.Я не знаю точно, что происходит, но мой мыслительный процесс был:
1) Кажется, есть jsessionid, который мне нужно было получить.2) Он должен быть отправлен как запрос POST, а не как запрос GET.
library(curl)
library(xml2)
library(httr)
library(rvest)
library(stringi)
library(dplyr)
library(stringr)
library(lubridate)
url <- "http://itc.aeso.ca/itc/public/"
# warm up the curl handle
start <- GET(url)
# get the cookies
ck <- handle_cookies(handle_find(url)$handle)
# make the POST request
res <- POST(paste(url,"/queryHistoricalIntertieReport.do",";jsessionid=",sep="") %s+% ck[1,]$value,
user_agent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:40.0) Gecko/20100101 Firefox/40.0"),
accept("*/*"),
encode="form",
multipart=FALSE, # this gens a warning but seems to be necessary
add_headers(Referer=url),
body=list(`startDate`=seq_dates[D],
`endDate`=seq_dates[D],
`fileFormat`="CSV",
`availableEffectiveDate`="943279200000 1999-11-22 07:00:00 MST (1999-11-22 14:00:00 GMT)",
`availableExpiryDate`="943279200000 1999-11-22 07:00:00 MST (1999-11-22 14:00:00 GMT)"))
tmp <- textConnection(rawToChar(res$content))
datIn <- read.csv(tmp, stringsAsFactors=FALSE, header=F)
Раздел Body / List - это поля в форме I, которые заполняются, включая 2 скрытых поля.Нашел это с помощью F12 dev-tools в Chrome и нажимал вниз, пока не нашел идентификаторы формы.
Остальное я взял отсюда: R веб-скребок с jsessionid
Понятия не имею, что такое User_Agent, но я на ПК и Mac.все еще работал.