gpt4 book ai didi

java - J2ME HttpConnection 无限重定向

转载 作者:行者123 更新时间:2023-11-30 11:34:13 27 4
gpt4 key购买 nike

我正在为 GPRS 调制解调器 (Siemens TC65) 开发一个 java 应用程序。我多次调用一种方法来对不同的 URL 执行 HttpConnection。有时它工作正常,但有时我会被我的运营商重定向(HTTP 代码 302)。我按照 Location header 中提供的 URL,它返回 200,但这不是我想要的页面。

如果我在 gsm 笔中使用 SIM 卡并使用浏览器访问,有时会发生相同的重定向,但我最终会到达所需的页面。问题是调制解调器不执行Javascript,所以我分析了javascript做了什么,过程如下:

page1 -> page2 -> page3 -> 想要的页面

Page1 和 page2 对 URL 和参数进行一些 base64 编码,page3 是一个 .aspx。因此,每次我获得重定向时,我都会对我的 URL 进行 64 位编码并发送到 .aspx 页面,.aspx 页面返回 302,并在 Location header 中解码所需的页面。它甚至返回一个带有 ASP.NET_SessionId 的 cookie,我将其保存并在下一个请求中发送。

但即使我执行了所有这些操作并遵循 .aspx 返回的 URL(与我开始时相同),它也只是从头开始,我得到了无休止的重定向循环。

我可以发布代码,但我认为它没有任何问题,因为它工作正常,有时......问题是运算符(operator)连续重定向而不是运行浏览器。

尝试从 aspx 服务器进行重定向时,我应该做些什么不同的事情?

有人遇到过类似的问题吗?如果有任何帮助,我将不胜感激。

提前致谢!雨果

最佳答案

我设法让它发挥作用。

我正在做的是在我的程序中用我自己的代码替换 page2 中的 javascript,因为调制解调器无法运行 javascript。并使用结果并将其发送到 page3。这很好,但实际上我并没有向 page2 发出 HTTP 请求。

如果我以正确的顺序请求三个页面,复制 javascript 在我自己的代码中执行的功能并保存 cookie,在 page3 之后我收到重定向到所需的网页并且不会像以前那样再次重定向到。我想既然我做了第 2 页所做的所有事情,我真的不需要发出请求而只是跳到第 3 页。但出于某种原因,我不知道为什么,也许 asp session 实际上是在该页面上启动的,但没有显示在页面源代码上,或者服务器监视页面请求。我什至不明白为什么运营商需要这样做,我认为它甚至可能会中断旧手机的 HTTP 连接,因为它并不是真正为无法运行 javascript 的设备设计的。

下次我将使用不同的运算符 =p

感谢 Charles Forsythe 的提示和帮助。

关于java - J2ME HttpConnection 无限重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15769026/

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