最近在研究php写接口,当我写完一个接口时,在本地web访问可以正常收到数据,但是在app连接时死活不通,最后发现是访问的地址不对,现在做个总结以便后续查看。

本地PHP接口连接

在网页输入 http://locallhost/index/index 访问php编写的index控制器下的index方法
如果使用mamp之类的集成工具,并把locallhost映射成了例如 test.com这样的网址那么访问地址是 http://test.com/index/index

模拟器访问本机接口

安卓模拟器本机地址为10.0.2.2 对应与电脑的127.0.0.1,一般项目在创建时,本机默认配置都是127.0.0.1,此时在模拟器访问时要在模拟器地址栏换成http://10.0.2.2/index/index

真机访问电脑本机接口

真机访问时要换成电脑所在ip地址,要满足以下几个条件

  • 真机要和电脑在同一个局域网,例如mac和手机连接同一个wifi,或者mac连接手机的热点
  • 打开防火墙(我测试的时候先打开了防火墙,后来关闭了照样可以连接,这里如果大家没有打开防火墙就能连接,那么恭喜你可以省事了)

查找本机ip mac 在控制台输入ifconfig | grep “inet”|grep -v 127.0.0.1
windows 在控制台输入 ipconfig查找,例如找到本机ip为 192.168.3.122,那么真机访问的地址是 http://192.168.3.122/index/index