gpt4 book ai didi

facebook - PHP curl CURLOPT_IPRESOLVE

转载 作者:行者123 更新时间:2023-11-30 05:16:33 24 4
gpt4 key购买 nike

我一直在开发一个使用 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com