これはただのラッパー。
set.proxy = function(proxy) {
if( is.list(proxy) ) {
if(length(setdiff(names(proxy), c("http", "https", "ftp"))) == 0 ) {
Sys.setenv("http_proxy"=proxy$http)
Sys.setenv("https_proxy"=proxy$https)
Sys.setenv("ftp_proxy"=proxy$ftp)
return(TRUE)
} else {
return(FALSE)
}
} else if (is.vector(proxy)) {
if( length(proxy) == 3 ) {
Sys.setenv("http_proxy"=proxy[1])
Sys.setenv("https_proxy"=proxy[2])
Sys.setenv("ftp_proxy"=proxy[3])
return(TRUE)
} else if (is.character(proxy[1])) {
Sys.setenv("http_proxy"=proxy[1])
Sys.setenv("https_proxy"=proxy[1])
Sys.setenv("ftp_proxy"=proxy[1])
return(TRUE)
} else {
return(FALSE)
}
} else if (is.character(proxy)) {
Sys.setenv("http_proxy"=proxy)
Sys.setenv("https_proxy"=proxy)
Sys.setenv("ftp_proxy"=proxy)
return(TRUE)
}
return(FALSE)
}
使用法は次のとおり。
set.proxy(list(http="http://proxy.uec.ac.jp:8080",
https="http://proxy.uec.ac.jp:8080",
ftp="http://proxy.uec.ac.jp:8080"))
set.proxy(c("http://proxy.uec.ac.jp:8080",
"http://proxy.uec.ac.jp:8080",
"http://proxy.uec.ac.jp:8080"))
set.proxy("http://proxy.uec.ac.jp:8080")
プロキシの設定を解除する関数も一緒に用意しておく。
unset.proxy = function() {
Sys.setenv("http_proxy")
Sys.setenv("https_proxy")
Sys.setenv("ftp_proxy")
}
この関数の使い方は、引数なし。
unset.proxy()