これはRCurlの制限ではありません。
はのは、長いURLを作成し、それを試してみましょう:
-Zの52000文字です
> s = paste0(rep(letters,2000),collapse="")
> nchar(s)
[1] 52000
。 URLに貼り付け:
> url = paste0("http://www.omegahat.net/RCurl/",s,sep="")
> nchar(url)
[1] 52030
> substr(url, 1, 40)
[1] "http://www.omegahat.net/RCurl/abcdefghij"
今すぐ試してみて、それを得る:サーバーからの正しい応答です
> txt = getURL(url)
> txt
[1] "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\n<html><head>\n<title>414 Request-URI Too Large</title>\n</head><body>\n<h1>Request-URI Too Large</h1>\n<p>The requested URL's length exceeds the capacity\nlimit for this server.<br />\n</p>\n</body></html>\n"
>
を。サーバーはURLが長いと判断し、414エラーを返し、RCurlが40,000文字以上のURLを要求できることを証明しました。
私たちがもっと知るまでは、「悪いURL」というメッセージがサーバから来ていると推測できますが、それについてはわかりません。
これらの回答から約2000文字が最大のようです。これらの関連する質問を参照してください:http://stackoverflow.com/questions/417142/what-is-the-maximum-length-of-a-url-in-different-browsers、http://stackoverflow.com/questions/2659952/http-get-length-of-get-request-request – Dave2e
'jsonlite :: fromJSON'を見ると、' txt'(あなたの場合はURL)が '<1000"バイト "'(['jsonlite :: fromJSON'ソースコード)(https:// gitub.com/jeroenooms/jsonlite/blob/master/R/fromJSON.R)) – SymbolixAU
この 'GET'リクエストを' POST'リクエストに変換するのではなく、Rを通して長いURLにアクセスする方法はありません。私は 'HTTP'プロトコルの全目的を破ると思いますか? – user6591903