cancel
Showing results for 
Search instead for 
Did you mean: 

使用SDK提取出来的SESSION长度问题

former_member197088
Participant
0 Kudos

长度大几千个字符,这个有点太不正常了,目前项目上是先提取TOKEN,然后登陆到能查看到所有报表的界面,再点击其中的报表触发TOKEN读取opendocument,其中这里会拼接TOKEN,刚尝试了下,如果这里不使用TOKEN的话会直接跳到登陆界面,需要重新输入密码,直接连接serSes好像是不行的。请问到底是哪一步有问题。

Accepted Solutions (1)

Accepted Solutions (1)

xiaoping_zheng
Employee
Employee
0 Kudos

您好,4.1里面serSes很长,这是正常的。经常你会发现他的长度超过4k或更多。

您遇到的问题应该是发生在IE上,因为IE最大可接受的url只有2k多。所以您将serses拼到url里它其实如果太长就会被IE截断。产生了识别问题。

要解决这个问题,是不能直接将serSes拼到url里,得在页面创建个form然后post过去,具体可以参考KBA 1842106 - OpenDocument's Serialized sessions length exceeds IE URL limit 的方法。

former_member197088
Participant
0 Kudos

嗯,之前也存在URL过长的问题,也使用过对应的解决办法,不过要使用这种办法会导致用户点开多张报表都会共用同一个页面,也就是会覆盖这个页面,有什么好的办法么?

former_member197088
Participant
0 Kudos

我尝试了下,不知道是不是本身字段的原因,把serSes赋值或者是通过POST的办法依然会截断,最后实际还是无效。

xiaoping_zheng
Employee
Employee
0 Kudos

您好,请检查下serSes中是否含有单引号或双引号等特殊字符?如果是,您如果input的控件是写成

value=' <% =serSes>' 这样的话,假设serSes中含单引号,那它的第一个单引号和value = 后面的单引号就成了post去的value。这会不会是被截断的原因?如果是这样的情形造成,你需要事先对serSes进行单引号的转译来解决这个问题。

former_member197088
Participant
0 Kudos

=。=确实是这么回事,我再试试,谢谢了。

former_member197088
Participant
0 Kudos

现在可以获取,但是请求会报错,这是怎么回事呢?

xiaoping_zheng
Employee
Employee
0 Kudos

您好,请您另开个帖子来具体探讨吧,最好能把错误截图,还有操作的步骤,关联代码同时发上来以便更详细去研究。

former_member197088
Participant
0 Kudos

好的

former_member197088
Participant
0 Kudos

链接点不了。

Answers (0)