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
}