对于链接只取前1k,谁能提供下代码或思路
发布于 11 年前 作者 oluul 4834 次浏览 最后一次编辑是 8 年前

guoqi

15 回复

看看 HEAD 命令里有没有你要的。不然就得取 GET body 部分了。

http.get(‘http://www.taobao.com’,function(res){ res.once(‘data’,function(d){ console.log(d); }) })

突然想到这个。只订阅一次data事件。

@oluul 你取一次data,后续的data还会进来吧。http body request 好像停不下来。

@leapon 是的,后续的data确实是个问题,能不能停止这个链接呢?

@oluul 我遇到过类似的情况。文件上传想中断但是停不下来。服务器端可能有底层的TCP命令也许可以切断连接。希望有大牛知道怎么做。

@leapon http://www.cnblogs.com/bayonetxxx/archive/2011/03/19/1989162.html

哈哈,还是对http不够了解造成的。content-range就能解决。

@leapon请求的头是 Range: bytes=0-1024

@oluul

厉害,回头试试。

@oluul

这能解决预定长度上传的问题。中断传输中的连接有好办法吗? 我也再翻一边TCP/IP的手册找找。

@leapon 不好意思。range不能解决上面的问题,我试过了。还没找到找到解决方法,这周去读了下“了不起的Node.js” 还没发现解决方法。不过这本书不错。range/content-range需要服务器的支持才可以。

直接截取链接的长度不行吗?

再详细些。没看懂。

@oluul

var url = req.url.length>1024?req.url.substring(0, 1024):req.url;

这样不行吗?

我觉得大家理解错了吧,楼主是想url请求只能被请求1000次,1000次以后的请求就不处理了,或者返回错误之类的。是否这样的?

@leapon 理解的对,@xiuxu123 好像没理解。我的标题写的太难懂了,容易想歪。我的想法是想做到拿到部分响应内容,而不是全部响应内容

回到顶部