首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与webinpectord合作

与webinpectord合作
EN

Stack Overflow用户
提问于 2013-10-27 18:03:07
回答 1查看 258关注 0票数 1

我只想用'webinpectord‘(业余爱好项目)与Mobile沟通。我的目标是在移动Safari上显示一个警报“嗨”。我知道我可以使用Safari的调试控制台来完成这个任务。目前,我知道的是Mobile ('webinpectord')使用IPV6协议在本地主机上监听端口27753。从页面,我了解了与Mobile通信的后果。我仔细阅读了一些已经在工作的程序,如远程调试节点驱动程序iOS-webkitproxy。然后我尝试用C语言编写一个程序,它连接到本地主机:27753,然后发送和接收命令。我的问题是,我可以连接并发送命令到端口27753,但没有从该端口得到任何响应。

我试着把

代码语言:javascript
复制
{ __argument: { WIRConnectionIdentifierKey: '17858421-36EF-4752-89F7-7A13ED5782C5' },
   __selector: '_rpc_reportIdentifier:' }

根据的文章,Mobile必须发送回响应如下

代码语言:javascript
复制
{ __selector: '_rpc_reportSetup:',
 __argument: 
   { WIRSimulatorNameKey: 'iPhone Simulator',
     WIRSimulatorBuildKey: '10A403' } }


{ __selector: '_rpc_reportConnectedApplicationList:',
 __argument: 
     { WIRApplicationDictionaryKey: 
        { 'com.apple.mobilesafari': 
           { WIRApplicationIdentifierKey: 'com.apple.mobilesafari',
              WIRApplicationNameKey: 'Safari',
              WIRIsApplicationProxyKey: false } } } }

但是我没有得到移动Safari的任何回应。我只是可以向那里发送命令。

让我们假设我的程序是错误的!

所以我试着用“telnet”做实验。在这里,我还可以连接到localhost:27753,并且我可以发送命令而不会得到任何响应。我正在附加屏幕截图。

你可以看到,我尝试了很多组合,比如

代码语言:javascript
复制
  { "__argument": { "WIRConnectionIdentifierKey": "17858421-36EF-4752-89F7-7A13ED5782C5" }, "__selector": "_rpc_reportIdentifier: " }


  {\"__argument\": { \"WIRConnectionIdentifierKey\": \"17858421-36EF-4752-89F7-7A13ED5782C5\" }, \"__selector\": \"_rpc_reportIdentifier: \"}


  "{ "__argument": { "WIRConnectionIdentifierKey": "17858421-36EF-4752-89F7-7A13ED5782C5" }, "__selector": "_rpc_reportIdentifier: " }"

但什么都没起作用。

最后,我试着卷曲发送数据。那也失败了!

谁能告诉我该怎么做才能得到像这样的回应

代码语言:javascript
复制
  { __selector: '_rpc_reportSetup:',
 __argument: 
   { WIRSimulatorNameKey: 'iPhone Simulator',
     WIRSimulatorBuildKey: '10A403' } }


{ __selector: '_rpc_reportConnectedApplicationList:',
 __argument: 
     { WIRApplicationDictionaryKey: 
        { 'com.apple.mobilesafari': 
           { WIRApplicationIdentifierKey: 'com.apple.mobilesafari',
              WIRApplicationNameKey: 'Safari',
              WIRIsApplicationProxyKey: false } } } }

发送请求时

代码语言:javascript
复制
  { __argument: { WIRConnectionIdentifierKey: '17858421-36EF-4752-89F7-7A13ED5782C5' },
   __selector: '_rpc_reportIdentifier:' }

到本地主机:27753使用“telnet”或“curl”.

我用不同的方式尝试了两天(编写C程序,python程序,最后尝试telnet和curl),但没有成功。所以请救救我!

EN

回答 1

Stack Overflow用户

发布于 2014-02-19 06:35:07

  1. Mobile使用自定义的二进制协议(二进制属性列表,请参阅布利斯特-创造者)与Safari调试模式通信。
  2. 这个JSON命令的正确格式应该是: {"__argument":{"WIRConnectionIdentifierKey":"990cc163-d8b2-4d22-8d1c-644e100a5a07"},"__selector":"_rpc_reportIdentifier:"}

注意,每一个“键”都应该是双引号。

您可以参考阿普获得详细信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19621449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档