2010-07-13 155 views
3

我在包含數據的網絡服務器上有一個遠程文件夾。 我訪問使用數據:從互聯網上讀取數據

myData <-read.table("http://.../myData.csv", sep=',', header=T)

是否有密碼保護的遠程文件夾,並在上面的命令輸入授權的方式?

Thx。

回答

13

您可以使用RCurl包:

require("RCurl") 
read.table(textConnection(getURL("http://.../data.csv", 
           userpwd = "user:pass")), 
      sep=",", header=TRUE) 
+0

千恩萬謝。完全有效。 – John 2010-07-17 00:25:08

+0

如果你覺得這回答了這個問題,你可以點擊答案接受它;) – rcs 2010-07-17 06:14:27

+0

這也證明了比通過read.table()函數的vanilla url()更強大。我遇到了某些http服務器錯誤調用導致http連接掛起處於CLOSE_WAIT狀態的問題。我猜測read.table()並沒有正確地關閉連接,即使在try塊中使用了stop()命令。 Rcurl等價物就像你在這裏展示的那樣,事實上確實關閉了連接,這很好。榮譽。 – 2014-01-16 23:45:21

3

一般來說,你可以嵌入用戶名和密碼的網址,例如:

http://username:[email protected]/path/to/file.dat

+0

準確地說,並不是R只是試圖連接到這個地址,它只是一個約定,如何執行HTTP/FTP/... auth,事實上它被許多程序使用,也是R.但是例如,由於安全原因,網絡瀏覽器往往表現得很奇怪。 – mbq 2010-07-13 16:15:30