【问题标题】:Android Calling API using Remote Server IP Address - Connection Refused使用远程服务器 IP 地址的 Android 调用 API - 连接被拒绝
【发布时间】:2018-10-24 22:28:40
【问题描述】:

由于目前的一些其他问题,我不得不使用我的远程 API 服务器 IP 地址而不是我们的域。

我有一个控制台应用程序,它使用 Xamarin Forms 应用程序中的确切 API 客户端代码。我可以毫无问题地运行此控制台测试工具并调用 API。

但是当我在 Android 设备或 Google 模拟器上运行相同的 API 客户端代码时,连接被拒绝。

不确定要尝试什么才能使其正常工作。这是不允许 IP 地址主机的 Android 政策吗?

如果是这种情况,我该如何将我们的 IP 地址列入白名单?

任何建议都会很棒。

更新

我刚刚向返回“hello”的 API 添加了一个控制器。我重新部署了服务,我可以使用设备上的浏览器和模拟器浏览到此端点。

【问题讨论】:

  • “连接被拒绝”是服务器问题,而不是客户端问题。您可以尝试查看 Android 项目“Android Build”面板中的 HTTP 堆栈设置。
  • 是的,这是一个服务器问题,但如果服务器有问题,它也不会响应测试工具。非常混乱。
  • 来自使用相同代码的两个不同客户端的请求可能仍然存在基于平台的请求签名差异。您可能需要使用数据包嗅探器比较这两个请求
  • @Jason 另外我不确定您所说的 HTTP 堆栈设置是什么意思。我看不到与此相关的任何内容。
  • 嗯......这个应用程序已经运行了几个月。唯一的区别是我目前必须使用 IP 地址。

标签: android xamarin xamarin.forms


【解决方案1】:

不久前我遇到了类似的问题。一个应用程序运行了一年多,在更新服务器后突然停止工作。我的解决方法是将HttpClient implementation 设置为“Android”。默认配置无法建立安全连接。

Projectname.Android
-> Properties
-> Android Options
-> Advanced
-> HttpClient implementation - Android

【讨论】:

    猜你喜欢
    • 2017-01-13
    • 1970-01-01
    • 2011-12-06
    • 1970-01-01
    • 2011-12-17
    • 2018-07-30
    • 1970-01-01
    • 2016-05-02
    • 1970-01-01
    相关资源
    最近更新 更多