2012-06-23 107 views
2

我想將列表編碼爲JSON,在Rcompression中使用gzip壓縮它,並使用RCurl中的POST請求將其發送到服務器。通過POST請求發送gzip的數據

# COMPRESS THE REQUEST 
all <- list(this=1,is=2,a=3,list=4) 
json <- toJSON(all) 
gzip <- gzip(json) 

# SEND IT TO THE SERVER 
status <- postForm(SERVER_URI,data=fileUpload(contents=gzip,contentType="application/x-gzip"),style="HTTPPOST",binary=TRUE) 

然而,當我嘗試將數據發送到服務器,我收到以下錯誤:

Error in postForm(SERVER_URI, data = gzip) : 
    STRING_ELT() can only be applied to a 'character vector', not a 'raw' 

據我所知,gzip的數據是原始格式和postForm功能不喜歡但是,我不清楚如何解決通過POST請求將原始數據發送到服務器的問題。

回答

1

RCurl的官方paper表示發佈的二進制數據尚未實現,並在「未來工作」下的文檔中列出。因此,自文檔發佈以來,在RCurl中可能還沒有解決方案。

+0

謝謝你指點我那篇論文。看起來我需要找到其他方法。 –