【问题标题】:Debugging non-browser HTTP requests in PHP在 PHP 中调试非浏览器 HTTP 请求
【发布时间】:2013-09-25 13:36:42
【问题描述】:

我正在构建一个响应来自移动应用程序的 http GET/POST 请求的 PHP 服务器。

我可以使用 xdebug 调试通过浏览器等发起的 http 请求。如果我在浏览器中输入 url 并在 PHPStorm 中设置适当的断点,则使用 xdebug - 没有问题。

您如何处理非浏览器请求?就我而言,我正在编写一个 iPhone / Android 应用程序,该应用程序收集 GPS 位置数据,然后在 JSON 和 urlencoding 之后通过 HTTP 将数据发布到我的服务器以进行存储/分析。

例如,在 XCode 模拟器或 Eclipse 中运行我的应用程序,我可以通过回显它使用 HTTPResponse 接收到的内容来了解​​服务器认为它从我的应用程序接收到的内容。

有哪些选择?我只需要将传入的内容数据记录到我的服务器上的文件中,还是可以使用 xdebug 的替代方法设置断点?

不胜感激任何提示或指示!谢谢!

【问题讨论】:

  • 继续使用 xdebug——它是一个调试器,一天结束,而不是一些“http 调试助手”。只需 1) 配置您的 xdebug 以调试 每个 请求 (xdebug.remote_autostart = 1 -- xdebug.org/docs/all_settings#remote_autostart ) 和 2) 使用“零配置”方法:confluence.jetbrains.com/display/PhpStorm/…
  • 或者: PhpStorm 具有“PHP HTTP 请求”类型的运行/调试配置——使用它来调试特定的 GET/POST 请求。

标签: php xdebug phpstorm


【解决方案1】:

通过使用调试代理,例如 Charles (http://www.charlesproxy.com/),您可以将移动设备设置为通过代理应用程序路由请求。

然后您可以查看请求和响应的标头和正文。

Charles 还提供各种有用的功能,例如允许您编辑和重复请求。

【讨论】:

  • 大多数移动设备(绝对是安卓和iOS)都可以设置为使用代理
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-23
  • 1970-01-01
  • 2011-12-30
  • 2012-07-15
  • 2016-06-15
  • 2019-08-26
相关资源
最近更新 更多