ios - graph.facebook.com 的 DNS 问题

标签 ios facebook facebook-graph-api dns

在 iOS 上,我遇到了 graph.facebook.com 的 DNS 查找失败的问题,但只有在我使用蜂窝数据时才会出现问题。我的服务提供商是 AT&T。

如果我尝试在 Chrome 中访问 http://graph.facebook.com,页面返回 ERR_NAME_NOT_RESOLVED

当然,这会导致我使用 Facebook SDK 的应用出现问题,因为 SDK 会调用 graph.facebook.com 的 API。

如果我打开 wifi,一切正常,因为使用的 DNS 服务器与我使用蜂窝数据时使用的 DNS 服务器不同。

如果我重新启动我的设备,那么 http://graph.facebook.com 会工作一段时间,但是当使用蜂窝数据时,随机 dns 查找将再次开始失败。

这是 AT&T 及其 DNS 服务器的问题吗?在不更改默认 DNS 服务器(我的用户不知道该怎么做)的情况下,我可以做些什么来解决这个问题。

最佳答案

我遇到了同样的问题,刚刚在 Twitter 上联系了 FB。似乎 IP6 记录在某些地方无法正确解析。对于我在科罗拉多州的服务器来说可以正确解析,但对于我在达拉斯的服务器来说则不行。

服务器端 SDK 实现

/etc/hosts 中的 DNS 记录设置为正确的(截至目前)主机名。请记住,这只是临时修复,因为它们的 IP 可能会发生变化。

# IP6
2a03:2880:f00b:1:face:b00c::1 graph.facebook.com

# IP4
31.13.74.1      graph.facebook.com

客户端 SDK 实现

由于您无法修改用户设备的 /etc/hosts 文件,因此您可以编写一个使用 FB SDK 的服务器端服务。该服务将充当您的应用程序的代理或外观,并且您的应用程序可以直接调用您的自定义服务。 FB SDK 在这里,我使用 PHP SDK 来管理经过身份验证的 FB session 和用户持久性。 https://developers.facebook.com/docs/apis-and-sdks

关于ios - graph.facebook.com 的 DNS 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39176501/

相关文章:

ios - 在另一个 Controller 中调用 viewDidLoad

ios - 在 applicationDidBecomeActive 时恢复 AVPlayer 视频?

Facebook 页面自动 "like"URL(用于 QR 码)

php - 使用序列化将数组存储在数据库中,但在 php 中反序列化时出现偏移错误。

facebook - 在单个 Graph API 请求中获取 Facebook 发布所有反应计数

ios - Apple WatchO和Firebase Cloud Messaging一起提供推送通知

ios - 如何在 iOS 中搜索 tableview 内容?

javascript - 如何使用 JavaScript SDK 更改 facebook 个人资料图片并按时更改其返回时间

Facebook 分享者,发表评论?

facebook - 从 Facebook Graph API 检索默认图像所有 Url 个人资料图片