Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 内容长度不小于';不匹配写入大小 url=”http://api.soundcloud.com/tracks//stream?client_id=YOUR_CLIENT_ID" request.head(url、函数(e、r、b){ var headcontentlength=r.headers[“内容长度”]; } 请求(url、函数(e、r、b){ var getcontentlength=r.headers[“内容长度”]; }).pipe(fs.createWriteStream(文件名)); fs.stat(文件名,函数(e,s){ var statscontentlength=s.size }_Javascript_Node.js_Http_Request - Fatal编程技术网

Javascript 内容长度不小于';不匹配写入大小 url=”http://api.soundcloud.com/tracks//stream?client_id=YOUR_CLIENT_ID" request.head(url、函数(e、r、b){ var headcontentlength=r.headers[“内容长度”]; } 请求(url、函数(e、r、b){ var getcontentlength=r.headers[“内容长度”]; }).pipe(fs.createWriteStream(文件名)); fs.stat(文件名,函数(e,s){ var statscontentlength=s.size }

Javascript 内容长度不小于';不匹配写入大小 url=”http://api.soundcloud.com/tracks//stream?client_id=YOUR_CLIENT_ID" request.head(url、函数(e、r、b){ var headcontentlength=r.headers[“内容长度”]; } 请求(url、函数(e、r、b){ var getcontentlength=r.headers[“内容长度”]; }).pipe(fs.createWriteStream(文件名)); fs.stat(文件名,函数(e,s){ var statscontentlength=s.size },javascript,node.js,http,request,Javascript,Node.js,Http,Request,问题是headcontentlength!==getcontentlength!==statContentLength。 这些都不匹配 对于某些realson,fileStream关闭,并且与head请求的内容长度不匹配。为什么会是这样?head和get请求是否会给出不同的内容长度?我如何克服这个问题?可能与soundcloud api有关?完全可能内容长度不同,al虽然不应该这样。例如,我看到一些web服务器(缓存服务器)设置了内容长度:-1(这已经是不合法的)响应HEAD请求,但为GET请求

问题是
headcontentlength!==getcontentlength!==statContentLength
。 这些都不匹配


对于某些realson,fileStream关闭,并且与head请求的内容长度不匹配。为什么会是这样?head和get请求是否会给出不同的内容长度?我如何克服这个问题?可能与soundcloud api有关?

完全可能
内容长度不同,al虽然不应该这样。例如,我看到一些web服务器(缓存服务器)设置了
内容长度:-1
(这已经是不合法的)响应HEAD请求,但为GET请求设置正确的
Content Length

是否检查了发出GET请求时返回的
Content Length
?哇,它们有时可能都不同。我只是检查一下,GET请求的内容大小并不总是与写入文件的大小匹配。如果您尝试使用
http.get
/
http.request
内置到节点,而不是
request
模块?这是否改善了情况,或者您看到了相同的情况?
url = "http://api.soundcloud.com/tracks/<ID>/stream?client_id=YOUR_CLIENT_ID"
request.head(url, function(e, r, b) {
      var headcontentlength = r.headers["content-length"];
}

request(url, function(e, r, b) {
    var getcontentlength = r.headers["content-length"];
}).pipe(fs.createWriteStream(fileName));

fs.stat(fileName, function(e, s) {
    var statscontentlength = s.size
}