2015-09-24 14 views
7

Node.jsでHTTP GET要求を行う際にサイズに制限はありますか?もしそうなら、私はこれをどのように変更できますか? PowerShellでNode.js HTTP取得URL長制限

<html><body><h1>400 Bad request</h1> 
Your browser sent an invalid request. 
</body></html> 

同じこと使用してwgetコマンドやbashは完全に正常に動作します:

var url = "..." // very long, ~50'000 chars 
http.get(url, function (res) { 
    res.pipe(fs.createWriteStream("file.txt")); 
}); 

は私にこれを提供します。

$url = "..." 
wget -outf file.txt $url 
+0

どのようなURLが50K文字以上になる可能性がありますか、これはbase64のURLか何かが表示されていますか。http://stackoverflow.com/questions/20267939/nodejs-write-base64-image-file – RobertPitt

+0

apiコール..それは非常に私が知っているかなり大きい;-)とおそらく境界線の狂気 –

答えて

8

ノードに組み込まれた要求サイズ制限が組み込まれています。要求されたヘッダ+ URIは80 kbを超えてはならない。

here定義されるとおり

/* Maximium header size allowed */ 
#define HTTP_MAX_HEADER_SIZE (80*1024) 

Asuming UTF-8文字は1と4バイトの間とすることができる、50 000文字の文字列のサイズは、50 000 200から000バイトからであろうと、 〜48kbから195kbまでです。

関連する問題