gpt4 book ai didi

ColdFusion - 如何限制通过 CFHTTP 检索的数据?

转载 作者:行者123 更新时间:2023-12-01 01:16:28 24 4
gpt4 key购买 nike

我正在使用 cfhttp获取文档并解析内容,如下所示:

<cfhttp
method="GET"
url="#url.strURL#"
resolveurl="true"
useragent="#CGI.http_user_agent#"
result="objGet"
timeout="60"
charset="utf-8"
/>

但是,有些文件相当大。我不需要得到整个事情——这可能需要很长时间。

有什么办法可以让我停止运行 cfhttp之后 X加载的字节数?或者设置一个限制,例如获得多少。

感谢帮助。

最佳答案

如果目标服务器支持,可以使用 Range http header :

<cfhttp
method="GET"
url="#url.strURL#"
resolveurl="true"
useragent="#CGI.http_user_agent#"
result="objGet"
timeout="60"
charset="utf-8"/>
<cfhttpparam type="header" name="Range" value="bytes=0-499" />
</cfhttp>

Apache 和 IIS 支持这一点,因此对于静态内容,您可能很幸运。动态内容会更棘手......

...我刚刚用通过 Apache 提供的 CFM 进行了尝试,但看起来这不起作用。我怀疑如果 Apache/IIS 正在为静态文件提供服务,那么它可以安全地从您请求的文档中发回一定范围的字节,因为它可以读取该文件。如果请求是针对 CF/ASP/JSP/任何东西生成的,那么由应用程序来处理请求中的 Range: header 。就我而言,我仍然得到了整个文档,因为我的应用程序没有查看 Range 标题。

我还应该提到,在 Java 中可以做你想做的事情,因为你对正在发生的事情有更精细的控制,但你必须自己编写一些东西或使用替代的 HTTP 客户端库之一那里。我想这取决于该功能对您的重要性。如果文档非常大,那么您可能需要使用 cfhttp 的文件属性来避免将整个响应放入内存中,这可能会导致崩溃。

关于ColdFusion - 如何限制通过 CFHTTP 检索的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11797079/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com