gpt4 book ai didi

ruby - 如何为 rhomobile/rhodes webview 设置 cookie

转载 作者:太空宇宙 更新时间:2023-11-03 18:00:22 25 4
gpt4 key购买 nike

我正在使用 rhomobile/rhodes 应用程序与 Web 服务对话并在 WebView 中显示内容,当我在 Rho::AsyncHttp.post 中发送登录信息以及登录详细信息和回调时,我可以看到成功登录网络服务,应用程序获得一个我可以放置和查看的 cookie。到目前为止一切顺利。

但是,接下来我要尝试使用该 cookie 来验证 WebView,因此在回调中:

WebView.set_cookie("10.0.1.190", @params['cookies'])
WebView.navigate("10.0.1.190")

但这会将我重定向到登录页面。发送的 cookie 与 @params['cookies'] 中的 cookie 不匹配,是否有不同的方式为 ip 地址设置 cookie?还是我做错了什么,或者此刻在罗德岛坏了?我为 android 和 iphone 尝试了 3.0.0 和 3.0.1,它们具有相同的行为。

最佳答案

事实证明 WebView.set_cookie 当前不适用于 3.0.1,但您可以在 javascript 中设置 cookie...这是我最后遇到的似乎有效的 hack:

def login
WebView.navigate("http://www.mysite.com/blank.html")
Rho::AsyncHttp.post(
:url => "http://www.mysite.com/login?user[username]=joeblow&user[password]=supersecret",
:callback => url_for(:action => :login_callback)
)
render :action => :wait
end

def login_callback
WebView.execute_js("document.cookie='#{@params["cookies"]};expires=Fri, June 10 12:00:00 UTC;path=/;domain=.mysite.com'")
WebView.navigate("http://www.mysite.com")
end

blank.html 只是一个空文件,用于在不设置任何 cookie 的情况下加载 WebView。

关于ruby - 如何为 rhomobile/rhodes webview 设置 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6220754/

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