从Android设备调用Web服务

Yog*_*h D 4 android web-services android-webservice

我使用运行的python flask框架在本地编写了一个Web服务localhost:5000,我通过编写从我的计算机浏览器成功运行此Web服务http://localhost:5000/toi/something

现在我试图通过连接机器从我的Android设备的浏览器调用相同的服务.我这是第一次这样做,所以我不确定它是否有效,或者我做错了什么,但它没有显示我的Android设备上的输出.完成后,我将在我的Android应用程序中以编程方式调用Web服务.

谢谢 ifconfig图像 在我的机器上获得预期结果的ip 我没有在机器上得到结果的ip android设备使用第一个IP android设备使用第二个IP

axi*_*tjz 5

我不认为这样可行,如果您将手机连接到与您的计算机相同的Wifi网络,您应该以这种方式访问​​它:

http://ipofyourcomputer:5000/toi/something/
Run Code Online (Sandbox Code Playgroud)

一旦解决了这个问题,您可以尝试使用Android上的一些库,例如:

OkHttp - https://github.com/square/okhttp

android-async-http - http://loopj.com/android-async-http/

排球 - https://android.googlesource.com/platform/frameworks/volley

或者,如果您正在构建REST服务,则可以使用:

改造 - http://square.github.io/retrofit/

希望能帮助到你.

  • Wifi只是一个场景,例如,如果设备和PC连接到相同的Wifi网络,路由器将提供不同的IP地址,因此localhost代表每个IP的IP.即:android ip(1.1.1.1)和pc ip(2.2.2.2)localhost:5000/toi/something将解析为1.1.1.1:5000/toi/something而不是2.2.2.2:5000/toi/something (2认同)