#POST方法
myHttpheader<- c(
"Connection"="keep-alive",
"Host"="impala.molgen.mpg.de",
"User-Agent"="Mozilla/5.0 (Windows NT 6.2; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0",
"Accept"="text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"Accept-Language"="zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3",
"Content-Type"="multipart/form-data; boundary=----WebKitFormBoundaryAt5WkZAJ0FIYcbhn",
#"Accept-Encoding"="gzip,deflate"#,
"Cookie"="_ZopeId=57367910A65do644nmY",
"Referer"="http://impala.molgen.mpg.de/impala/"
)
d = debugGatherer()
cHandle2 <- getCurlHandle(httpheader=myHttpheader,followlocation=1,
debugfunction=d$update,verbose=TRUE)
postForm("http://impala.molgen.mpg.de/impala/impala/runAnalysis",geneacctype="invalid",
compounds="HMDB00060
HMDB00056
HMDB00064
HMDB00092
HMDB00134
",
compoundacctype="hmdb",
analysis="ora",
curl = cHandle2,style = "httppost")
最简单的方法POST后:
会查到你post后返回的结果(貌似只保留最后一次post,没测)
地址问号后是你的cookie信息。
text<-getURL("http://impala.molgen.mpg.de/impala/impala/downloadResults?_ZopeId=57367910A65do644nmY")
值后自己写文件吧。
XXXX改成你的cookie
_ZopeId=XXXX
固定值,反正我是没变过。
若是下载建议,自己查getBinaryURL函数
或者复杂点写完整
#写你自己的cookie信息
myHttpheader<- c(
"Connection"="keep-alive",
"Host"="impala.molgen.mpg.de",
"User-Agent"="Mozilla/5.0 (Windows NT 6.2; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0",
"Accept"="text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"Accept-Language"="zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3",
#"Accept-Encoding"="gzip,deflate"#,
"Cookie"="_ZopeId=57367910A65do644nmY"
)
d = debugGatherer()
cHandle2 <- getCurlHandle(httpheader=myHttpheader,followlocation=1,
debugfunction=d$update,verbose=TRUE)
#curlSetOpt(.opt=list(CURLOPT_WRITEDATA="test.lg"),cHandle2)
getURL("http://impala.molgen.mpg.de/impala/impala/downloadResults",curl=cHandle2 ,.encoding = 'UTF-8',.opts=list())
帮你到这吧。。。。测试是没问题。