Olá, Henrique, Obrigado pela resposta. O erro anterior pára de acontecer quando se usa getForm ao invés de postForm. Valeu pela dica!
Mas o resultado obtido é a página original e não a seguinte, para o qual a submissão do formulário direcionaria o usuário. Ou seja: o formulário não foi submetido... abraço, Rogério On Mon, Aug 19, 2013 at 11:43 PM, Henrique Dallazuanna <[email protected]>wrote: > Tente algo como: > > library(RCurl) > getForm(" > https://docs.google.com/forms/d/1daaGo7XZaaGGPvTOconG8QZItqaLeIZmSpPPcgxTJvg/viewform > ", > .params = list(entry.1945263135 = "Option 2", entry.1427156778 = > "Teste RCurl", entry.296661609 = "Option 3", entry.1456907668 = "Option > 1"), > .opts = list(ssl.verifypeer = FALSE)) > > > On Mon, Aug 19, 2013 at 8:15 PM, Rogério Barbosa <[email protected]>wrote: > >> 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 >> url = " >> https://docs.google.com/forms/d/1daaGo7XZaaGGPvTOconG8QZItqaLeIZmSpPPcgxTJvg/viewform >> " >> >> # 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 >> >> url = " >> http://www.javascript-coder.com/files/form-submit/javascript-form-submit-example.html >> " >> >> >> # Preenchimento do formulario ---------- não acontece nada, não submete >> htmlParse(postForm(url, >> "query"="bla", >> .opts=curlOptions( >> referer=url,verbose = TRUE, followLocation = TRUE) >> ) ) >> >> >> _______________________________________________ >> R-br mailing list >> [email protected] >> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br >> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça >> código mínimo reproduzível. >> > > > > -- > Henrique Dallazuanna > Curitiba-Paraná-Brasil > 25° 25' 40" S 49° 16' 22" O > > _______________________________________________ > R-br mailing list > [email protected] > https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br > Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça > código mínimo reproduzível. >
_______________________________________________ R-br mailing list [email protected] https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
