【发布时间】:2012-07-05 21:33:48
【问题描述】:
我正在开发一个与社交网络上的用户交互的程序。我想要一个可以处理大部分或全部网络通信的工具
我的工作包括登录网站、阅读帖子、发送回复和个人信息。
我最初认为我可以处理一些套接字代码的必要交互。我最初的单次运行案例运行成功(我能够登录、发布内容、回复查询等),但是尝试一起运行所有内容都不起作用(服务器无法识别我的请求,以及各种其他错误)。我做了一些非常糟糕的 cookie 跟踪,我将套接字从 80 切换到 443 以进行 SSL 通信,我生成自己的数据包以发送到社交网络服务器,因为这是我第一次尝试网络交互,所以我离我还很远深度。我更喜欢跟踪 cookie、处理 SSL 通信、处理一般通信问题等的集成解决方案。基本上我希望我可以给出一个按钮的 X、Y 坐标(或从页面获取按钮列表,找到我想要的那个) , 选择那个) 和要在文本框中键入的内容的文本,并让模拟浏览器执行所有必要的数据包以使 Web 交互发生。
我想知道是否有可以使用的 java 模拟浏览器。即,我可以获得页面上文本框的句柄,输入我的登录信息并执行登录过程(然后模拟浏览器将处理所有 cookie,处理单个数据包等)
我的目标是拥有一个可以在我的计算机上运行的程序,它可以与社交网络上的用户进行交互,而无需我进行任何重大输入(我不希望该程序垄断 Firefox,这会阻止我在使用 Firefox在我的系统上)
对于上下文,我正在发送典型的 html 页面调用以及自定义数据包调用(并解析结果)
感谢您的帮助
【问题讨论】:
-
你研究过硒了吗?
-
还是 HtmlUnit (htmlunit.sourceforge.net)?
-
如果我没记错的话,Selenium 看起来需要 Fiewfox 才能运行。 HtmlUnit 看起来非常接近我正在寻找的内容,您是否偶然知道它是否可以处理 Difi 请求?我需要独立运行的东西(不需要其他软件、FF 等)
-
请提供 Difi 的链接。
-
Difi 不正确,我的意思是说社交网络在某些情况下使用了自定义协议 - 即,为了在消息中心获取更多内容,发送自定义数据包,仅请求相关内容而不是请求整个新页面。回复不是典型的 html 页面,因此我需要能够将自定义数据包发送到网络,然后在某些情况下亲自解析响应(但我仍然更喜欢模拟浏览器处理 cookie) - 或者我需要对 Javascript 理解适度的模拟浏览器(我认为 FF 使用 JS 来解析数据包 iirc)
标签: java