- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
这个问题是我的 previous question 的延续关于 ColdFusion 中的 HTTP block 传输。现在,我已经使用了java.net.URL
阅读 block ,这就是我尝试过的:
<cfset local.objURL = createObject("java", "java.net.URL")
.init(javaCast("string", "https://test.com/abc.xml"))>
<!--- Open Connection --->
<cfset local.objConnection = local.objURL.openConnection()>
<!--- Input Stream --->
<cfset local.inputStream = local.objConnection.getInputStream()>
<!--- Read Chunks --->
<cfloop condition="true">
<!--- Get Chunk Length --->
<cfset local.chunkLength = local.inputStream.read()>
<cfif local.chunkLength LT 0>
<cfbreak>
</cfif>
<!--- Byte Array --->
<cfset local.chunk = getByteArray(local.chunkLength)>
<cfset local.offset = 0>
<!--- Read Chunk Data --->
<cfloop condition="local.offset LT local.chunkLength">
<cfset local.bytesRead = local.inputStream.read(local.chunk, local.offset, local.chunkLength - local.offset)>
<cfif local.bytesRead LT 0>
<cfbreak>
</cfif>
<cfset local.offset += local.bytesRead>
</cfloop>
<!--- Chunk --->
<cfdump var="#charsetEncode( local.chunk, 'utf-8' )#"><br />
</cfloop>
使用上面的代码,我能够读取数据,但我面临的问题是每个 block 中的第一个字符都丢失了,即
First Chunk is:
<?xml version="1.0" encoding="utf-8" ?> <root>
but I am only getting?xml version="1.0" encoding="utf-8" ?> <root>
有什么建议吗?
最佳答案
我认为这部分不正确:
<!--- Get Chunk Length --->
<cfset local.chunkLength = local.inputStream.read()>
<cfif local.chunkLength LT 0>
<cfbreak>
</cfif>
您希望 block 长度位于流的开头。为什么?这是你自己的协议(protocol)吗?如果你在谈论 http 分块,你应该检查 http 响应头是否为 Transfer-Encoding
甚至有值 chunked
.否则,假设内容被分块是完全错误的。还有,你only read one byte .这意味着 block 长度最多可以为 255 字节,这不是很灵活。 HTTP block 可以比这更长,并且 block 大小由所有数字组成,直到换行符,例如 1234\r\n
.
我强烈怀疑 read()
以上总是消耗你的<
并返回 60 的 chunkLength,这是 <
的 ascii 值.
关于java - ColdFusion - 缺少第一个字符的 HTTP block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35451665/
我正在编写一个我想经常运行的计划任务。 问题是,如果服务器遇到高流量负载,我不希望运行此任务。 除了从 java 获取空闲/总/最大内存之外,还有什么方法可以尝试确定此任务是否应该继续? 最佳答案 G
我知道 coldfusion builder 已发布用于开发 coldfusion 9 应用程序。现在我的问题是 coldfusion builder 是否支持 COLDFUSION 8 开发?非常感
我正在尝试出于学习目的测试 Coldfusion,但我真的不知道非免费企业版添加到免费开发者版的附加功能是什么。 谢谢! 最佳答案 从法律上讲,Enterprise 是供公众消费的,而 Dev 不是。
我一直在玩这个问题一段时间了。我想要实现的是保存到MySQL数据库,然后输出到窗口,一般确认的表情符号如😀😁😂(是的,21世纪问题) 经过大量的修补和遵循本网站上的各种教程和答案之后,我设法实现
嗨伙计!我有一个关于coldfusion用户的简单问题,有没有人知道如何将动态数字转换为小数,例如我有一个代码:#number#,它等于,例如 10 但我需要将它写为 0.10 我该怎么做做吗? 试过
尝试使用方括号表示法来引用动态变量。 (我正在遍历由查询创建的一组产品,为每个与其唯一 SKU 相关联的字段创建字段,如果您对应用程序感到疑惑) 我已将其缩小到这段代码,当我尝试运行它时会抛出“无效表
我刚刚下载了 ColdFusion Builder (CFB),现在我正在尝试编写一个简单的“Hello World”应用程序。但我首先需要某种服务器,不是吗?现在我到底在这里寻找什么? “ColdF
我们正在运行 ColdFusion MX7。 我们遇到的一个问题是,我们在很多页面中都使用了很多功能。将它们放在“全局”ColdFusion 范围内会很好,而不是必须将它们包含在我们所有的页面中。 有
我已经尝试使用 key 工具将证书从 First Data 导入到我的 ColdFusion 9 设置中: keytool -importcert -keystore MYCF9Dir\runtime
在 ColdFusion 组件中,我声明了一个这样的函数: string function render(required Array actions) output=false { //... }
背景 : 我有一个处于设计阶段的新站点,正在考虑使用 ColdFusion。服务器目前正在使用 ColdFusion 和 Python 进行设置(为我完成)。 使用什么是我的选择,ColdFusion
我计划在服务器上从 ColdFusion MX7(Server 2003)迁移到 ColdFusion 11(Server 2012)。有一个其他服务器,我需要从 ColdFusion 8(服务器 2
一些背景知识:我正在从事一个将另一种脚本语言的网络应用程序转换为 ColdFusion 的项目。我遇到的一个问题是旧技术有一些函数名称与 CF 中的函数相同,但工作方式略有不同。不幸的是,在大多数情况
在 this page ,它谈到了 Windows NT、2000、XP 和 2003。幸运的是,我有一台 Windows 7 机器。 第一行说: In User Manager for Domain
ColdFusion 中获取季度第一天和最后一天的最快方法是什么? 似乎没有为此内置功能。 最佳答案 季度第一天: FirstDayOfQuarter = CreateDate(year, (quar
我正在尝试在新的 Windows 服务器 (Windows Server 2012 R2) 上安装 ColdFusion 11(标准版)。安装显然是成功的,但是当我进入管理员安装最新更新时,我不能。当
我有: 服务器详情 服务器产品 ColdFusion 版本 9,0,1,274733 版本标准 操作系统 Windows Server 2008 操作系统版本 6.0 Adobe 驱动程序版本 4.0
我们有一组文件需要 ColdFusion 复制到网络共享。但是,我们无法更改运行 ColdFusion 服务的用户,这意味着 ColdFusion 没有足够的权限访问任何网络共享。我们确实有可以访问的
这对我来说是新的:我正在查看 ColdFusion 网站。 问题是我什至找不到连接字符串。在一些 qryXXX.cfm 文件中,我发现 但我就是找不到这个数据源的存储位置。 最佳答案 数据源在 Co
停止ColdFusion输出的空白的正确方法是什么? 我知道有cfcontent和cfsetting enableCFoutputOnly。正确的方法是什么? 最佳答案 除了,和是。您可以使用它删
我是一名优秀的程序员,十分优秀!