Olá,

Estou tentando aprender a mexer com o RCurl para postar formulários web. Mas não estou tendo muito sucesso com o uso da função postForm. 

Abaixo há dois exemplos de tentativas minhas... ambas não deram certo. 

Alguma dica?

abraços,
Rogério J. Barbosa




######## Exemplo 1 - Preenchimento de um Google Form
require(XML)
require(RCurl)

# Página com o formulário

# Define o a ser usado certificado
options(RCurlOptions = list(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl")))

#Baixa a url
orig = getURLContent(url=url) 

#Parsing...
doc = htmlParse(orig[[1]], asText=TRUE) 

# Obtem os formulários
forms = getNodeSet(doc, "//form") 
forms[[1]] #exibe o primeiro

# Mostra os nodes do tipo "input" que devem ser preenchidos no formulário
getNodeSet(forms[[1]], ".//input") 

# Mostra os nodes do tipo "select" que devem ser preenchidos no formulário
getNodeSet(forms[[1]], ".//select") 


# Tentativa de postar o formulário ---------- "Error: Method Not Allowed"
htmlParse(postForm(url,
                   "entry.1945263135"="Option 1",
                   "entry.1427156778"="",
                   "entry.296661609"="Option 1",
                   "entry.1456907668"="Option 1",
                    style = 'POST'))


###################################

######## Exemplo 2 - Tentativa de prencher um fomulario em que o botão de submissão é uma
######## funçao javascript



# Preenchimento do formulario  ---------- não acontece nada, não submete 
htmlParse(postForm(url,
                   "query"="bla",
                   .opts=curlOptions(
                     referer=url,verbose = TRUE, followLocation = TRUE)
) )