Tôi đang cố gắng tìm hiểu cách đọc trong tệp truy cập/zip có url https vào R. Đây là một phần của dự án học lập bản đồ lớn hơn mà tôi đang thực hiện cho chi nhánh kỹ năng R của tôi được tìm thấy HERE(Tôi cũng sẽ liên kết bài đăng này ở đó).lỗi tệp zip khi đọc trong url https
Đây là kế hoạch nhưng tôi nhận được một lỗi từ getURL và tôi không chắc chắn lý do tại sao:
require(RCurl)
NYSdemo <- getURL("https://reportcards.nysed.gov/zip/SRC2010.zip")
temp <- tempfile()
download.file(NYSdemo, temp)
data <- read.table(unz(temp, "a1.dat"))
unlink(temp)
LỖI:
> NYSdemo <- getURL("https://reportcards.nysed.gov/zip/SRC2010.zip")
Error in function (type, msg, asError = TRUE) :
SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Như tôi đã nói đây là một dự án học tập rất nhiều các kỹ thuật tôi đang sử dụng ở đây tôi không quen thuộc với tất cả.
Các tập tin zip thực tế tôi đang cố gắng để tải về là HERE
Có lẽ đây không phải là thực sự là một vấn đề lập trình nhưng một cái gì đó sai với URL mà không cho phép getURL được sử dụng trên nó.
Cảm ơn bạn trước ý tưởng và trợ giúp của bạn.
EDIT: Tôi đã cố gắng các ssl.verifypeer nhưng nhận được một lỗi
> NYSdemo <- getURL("https://reportcards.nysed.gov/zip/SRC2010.zip",
+ ssl.verifypeer = FALSE)
Error in curlPerform(curl = curl, .opts = opts, .encoding = .encoding) :
embedded nul in string: 'PK\003\004\024\0\0\0\b\0i[j>¶U#]tó\036\005\0 ÷- {And it continues}
>
EDIT 2: mỗi Gợi ý Vincent
> NYSdemo <- getURL("http://reportcards.nysed.gov/zip/SRC2010.zip")
> download.file(NYSdemo, temp)
Error in download.file(NYSdemo, temp) : unsupported URL scheme
>
> NYSdemo <- getBinaryURL("https://reportcards.nysed.gov/zip/SRC2010.zip")
Error in function (type, msg, asError = TRUE) :
SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
>
> url.exists("https://reportcards.nysed.gov/zip/SRC2010.zip")
[1] FALSE #not sure why this is because it works to type into url bar of browser
Thông tin này được dẫn dắt tôi đến tin rằng vấn đề là một cái gì đó kỳ lạ về các tập tin zip. Ý tưởng?
Thông báo lỗi cho biết không thể xác minh danh tính của trang web. Bạn có thể thử bỏ qua các kiểm tra đó bằng cách thay thế 'https'by' http' (nhưng kết nối trở nên không an toàn). Bạn cũng có thể cần phải thay thế 'getURL' bằng' getBinaryURL'. –
@Vincent Zoonekynd Cảm ơn bạn đã phản hồi. Tôi đã thử các đề xuất của bạn (xem EDIT 2) nhưng chưa có may mắn. –
Nếu bạn không còn thông báo lỗi sau 'getURL', nó hoạt động và nội dung của tệp nằm trong biến' NYSdemo'. 'download.file' thực hiện tương tự như' getURL' (vì vậy bạn không cần cả hai), và hy vọng một URL làm đối số: 'download.file (" http: // ... ")'. –