这里有一个网站的验证码图片需要给定的header才能正常显示,
http://push.shangdu.com/regcode.php?token=prrX73LtmN_63uEcKh0a2Z1opo1ZgdcBJ
如果你直接打开它的话,会发现没有任何图案,因此通过普通的get是不能够实现的,必须要加上header的参数来获取验证码图。
代码很简单,如下:
library(RCurl)
myHttpheader <- c(
"Accept"="image/webp,*/*;q=0.8",
"Accept-Encoding"="gzip,deflate,sdch",
"Accept-Language"="zh-CN,zh;q=0.8",
"Cache-Control"="no-cache",
"Connection"="keep-alive",
"Pragma"="no-cache",
"Referer"="http://bbs.shangdu.com/s/regform.htm",
"User-Agent"="Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36"
)
png <- getBinaryURL("http://push.shangdu.com/regcode.php?token=prrX73LtmN_63uEcKh0a2Z1opo1ZgdcBJ",httpheader=myHttpheader)
writeBin(png, con = "C:/123.png") #保存图片
shell.exec(tf) #显示图片