Chrome扩展程序 - 与外部程序通信

4
我有一个外部应用程序,正在自动化网站上的一些任务。我的目标是实现一个系统,允许程序和Chrome同步cookie。虽然可以查询Chrome的cookie数据库以读取cookie,但无法更新该数据库,因为Chrome在文件上维护了一个I/O锁,因此很难进行同步。
我认为下一个逻辑步骤是尝试创建一个扩展程序,根据需要更新cookie(通过Chrome的cookie API)。然而,在大约两天的研究之后,我未能找到在浏览器和我的Python应用程序之间通信cookie数据的有效方法。
套接字不适用于基于桌面的应用程序。 Websockets也不适用,因为据我所见,使用HTML5 API设置Websocket服务器是不可能的(这正是我需要的,因为浏览器需要作为服务器,程序将是连接客户端)。我真的不确定我现在还剩下什么。我是否漏掉了明显的东西?任何帮助都将不胜感激,谢谢。

2
为什么不能使用套接字?此外,为什么浏览器需要充当服务器?一些额外的信息会很有帮助 :) - Michael Mior
仅限基于桌面的应用程序。在网站上完成一些任务。什么? - Eric
我被告知不能在扩展中使用套接字。事实上,当我尝试将套接字加载到我的扩展中时,我收到了“permissions[2]的无效值”的错误提示,使用的是这个元文件:http://pastebin.com/Exj3feFP。只有浏览器作为服务器才有意义,因为只有一个浏览器,可能会打开多个程序实例。将浏览器作为服务器将允许所有应用程序实例连接到浏览器,而不是浏览器尝试查找并连接到每个应用程序实例。这有帮助吗? - Joshua Gilman
1个回答

2
这感觉是一种非常奇怪的方式来做你想做的事情。你为什么要这样做呢?
无论如何,最明显的解决方案是这样的:
你显然需要保证应用程序/插件与服务器之间的通信安全。再次强调,这似乎是一种非常奇怪的做法。但这个解决方案将会起作用。在这种情况下,应用程序和插件都是WS客户端,并且您的服务器是仲裁者。

我来试一下。我正在尝试在Google Chrome和Python应用程序之间同步cookie。除非有其他方法我没有看到,否则这种实现方式是我唯一的选择。 - Joshua Gilman
编辑文件是不可能的(正如您所意识到的那样),我也不知道任何类似MPI的JS库,因此WebSockets(或AJAX)可能是您最好的选择。只需确保同步正确的浏览器即可。 - David Titarenco

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接