我有一个嵌入式PyGtk
的{{1}}应用。用户通过嵌入式浏览器登录我们的服务,他们可以在PayPal页面进行付款。
此应用程序由同一会话中的不同用户使用,因此问题是PayPal会烘焙Cookie并记住上次付款的电子邮件。
我只想完成付款并从WebKit.WebView
删除与PayPal相关的Cookie,但我找不到任何有关删除Cookie的文档。
重新创建WebView
不是一个选项,因为我的网页加载非常繁重。
任何帮助都将受到高度赞赏
答案 0 :(得分:0)
我自己想通了。
首先我添加了一个自定义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
类结构并写下了这个简单的片段来清除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后,我收到错误消息:“消息损坏”