2

リストをJSONとしてエンコードし、Rcompressionでgzipを使用して圧縮し、RCurlでPOSTリクエストを使用してサーバーに送信しようとしています。

# 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)

ただし、データをサーバーにPOSTしようとすると、次のエラーが発生します。

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

gzipデータがraw形式であり、postForm関数がそれを好まないことは理解していますが、POSTリクエストを介してrawデータをサーバーに送信する問題を解決する方法がわかりません。

4

1 に答える 1

1

RCurlの公式論文には、バイナリデータのPOSTはまだ実装されていないと記載されており、ドキュメントの「FutureWork」にリストされています。したがって、ドキュメントが公開されて以来、RCurlにはまだこれに対する解決策がない可能性があります。

于 2012-06-23T02:49:00.293 に答える