【问题标题】:Delete cookies from python WebKit.WebView从 python WebKit.WebView 中删除 cookie
【发布时间】:2016-08-29 07:28:48
【问题描述】:

我有一个带有嵌入式WebKit.WebViewPyGtk 应用程序。用户通过嵌入式浏览器登录我们的服务,他们可以在PayPal页面进行支付。

此应用由不同用户在同一会话中使用,因此问题在于 PayPal 烘焙 cookie 并记住上次付款的电子邮件。

我只想完成付款并从我的WebView 中删除与 PayPal 相关的 cookie,但我找不到任何有关删除 cookie 的文档。

重新创建webView 不是一个选项,因为我的网页加载很重。

任何帮助将不胜感激

【问题讨论】:

    标签: cookies paypal webview webkit pygtk


    【解决方案1】:

    我自己想出来的。

    首先我添加了一个自定义 cookiejar。这让我可以处理 cookie

    from gi.repository import Soup
    
    cookiejar = Soup.CookieJarText.new("cookies/biscottini.txt", False)
    cookiejar.set_accept_policy(Soup.CookieJarAcceptPolicy.ALWAYS)
    
    session = gi.repository.WebKit.get_default_session()
    session.add_feature(cookiejar)
    

    然后我找到Soup类结构并写下这个简单的sn-p来清除cookie(还有一个过滤器可以只删除PayPal cookie)

    def clearCookies(deleteAll=False):       
    
        for cookie in cookiejar.all_cookies():
            if deleteAll or ('paypal' in cookie.get_domain().lower()):            
                cookiejar.delete_cookie(cookie)
    

    我现在有一个问题:如果我尝试付款,在清除 PayPal 的 cookie 后,我会收到错误:“消息损坏”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-26
      • 1970-01-01
      • 2012-12-12
      • 2013-06-13
      • 1970-01-01
      • 2010-10-29
      • 2010-11-19
      • 2012-04-06
      相关资源
      最近更新 更多