作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在开发一个使用 facebook 图形 API 进行身份验证的 facebook 应用程序,最近 facebook 升级到 IPv6 而我的网络不支持 IPv6 所以我的所有调用都开始返回 Host is unreachable 错误,我搜索了 facebook 错误和发现我们仍然可以使用 CURL CURLOPT_IPRESOLVE 强制请求 facebook 使用 IPv4。
现在,当我尝试使用 curl 向 Facebook Graph API 发送请求时,我得到注意:使用未定义常量 CURLOPT_IPRESOLVE - 假定为“CURLOPT_IPRESOLVE”
我想知道如何启用对此常量的支持或如何在 php 中禁用 IPv6 支持,以便我可以使用 IPv4 向 Facebook Graph API 发送请求。
我的代码是
$url = ("https://graph.facebook.com/me/access_token?tokrn");
$c = curl_init();
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
$contents = curl_exec($c);
$err = curl_getinfo($c,CURLINFO_HTTP_CODE);
curl_close($c);
谢谢
最佳答案
检查你的 curl 版本
CURLOPT_IPRESOLVE is available since curl 7.10.8
试试这个示例代码来测试
<?php
$version = curl_version();
// These are the bitfields that can be used
// to check for features in the curl build
$bitfields = Array(
'CURL_VERSION_IPV6',
'CURLOPT_IPRESOLVE'
);
foreach($bitfields as $feature)
{
echo $feature . ($version['features'] & constant($feature) ? ' matches' : ' does not match');
echo PHP_EOL;
}
仅供引用:http://gcov.php.net/PHP_5_3/lcov_html/curl/interface.c.gcov.php
关于facebook - PHP curl CURLOPT_IPRESOLVE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11220416/
我一直在开发一个使用 facebook 图形 API 进行身份验证的 facebook 应用程序,最近 facebook 升级到 IPv6 而我的网络不支持 IPv6 所以我的所有调用都开始返回 Ho
我是一名优秀的程序员,十分优秀!