graph.facebook.com

时间:2016-08-27 00:59:30

标签: 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服务器(我的用户不知道该怎么做)。

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,刚刚在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会话和用户持久性。 https://developers.facebook.com/docs/apis-and-sdks