python - 拦截从 iOS 应用程序发送到服务(从 Python 和 Appium)的请求

标签 python ios json networking appium

我在 Mac 上工作,我试图在 iPhone 上自动化某个应用程序,有时我需要验证应用程序发送到服务的请求(更准确地说是 JSON 请求)。我使用 Appium 连接手机,使用 Python 编写脚本。

我知道 instruments 有一个网络功能,可以让你检查应用程序的网络流量,但我不确定它是否也显示 JSON 请求。

所以,我正在寻找一个等待来拦截 json 请求并在 python 脚本中做出一些断言。有谁知道一些方法吗?

最佳答案

几个月前我遇到了类似的问题,一些甚至与自动化无关的笨蛋也对我投了反对票。但无论如何你有两个解决这个问题的方法。我不确定仪器的功能,所以不会对此发表评论。

1) 使用 idevicesyslog 基本上在终端中查看您的应用程序的所有日志,将它们发送到一个文件并使用您要查找的内容解析该文件。更多信息在这里http://krypted.com/tag/idevicesyslog/

但显然需要打开应用程序日志才能正常工作。

2) 您将需要使用代理来基本上嗅探您的应用发出的 http 请求。现在,大多数商业发送的流量都是 HTTPS,因此您可能会遇到安全流量的证书问题。为了使安全请求正常工作,您需要一个稳定的代理来嗅探带有证书和所有内容的流量。我建议看看查尔斯代理。更多信息在这里Charles

关于python - 拦截从 iOS 应用程序发送到服务(从 Python 和 Appium)的请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38460857/

相关文章:

python - pandas 中 pd.join (how ='left' ) 的意外结果

python - 基于掩码删除 Pandas 数据框中的列

ios - 为什么 Cocoapods 在推送到 Git 时会被忽略?

ios - 为什么不应该直接调用收据验证端点

json - java - 如何在Java中REST Web服务的PUT和POST方法中使用JSON作为输入

python - 通过 os.system 推送

python - 有没有办法在 sklearn 中进行 LabelBinarizer 变换后跟踪哪个 DataFrame 列对应于哪个数组列?

ios - 无法转换类型 'Bird' 的值,类型 'to expected argument type ' SKTexture'

java - Android - 解析数据 org.json.jsonException 在字符 0 处输入结束时出错

尝试生成 json 时出现 Python 键错误