Я отправляю код элемента веб-службе в формате xml с помощью cUrl (php). Я получаю правильный ответ в localhost, но когда это делает сервер, он показывает
Ошибка cURL (7): не удалось подключиться к хосту
И вот мой код:
function xml_post($post_xml, $url) { $user_agent = $_SERVER['HTTP_USER_AGENT']; $ch = curl_init(); // initialize curl handle curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_FAILONERROR, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_TIMEOUT, 50); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_xml); curl_setopt($ch, CURLOPT_USERAGENT, $user_agent); // curl_setopt($ch, CURLOPT_PORT, $port); $data = curl_exec($ch); $curl_errno = curl_errno($ch); $curl_error = curl_error($ch); if ($curl_errno > 0) { echo "cURL Error ($curl_errno): $curl_error\n"; } else { echo "Data received\n"; } curl_close($ch); echo $data; }
Я отправляю код товара в таблицу и извлекаю детали из него. Я пробовал использовать как версии php 4+, так и php5 +, ничего не получается. Любое решение.
Код ошибки CURL 7 (CURLE_COULDNT_CONNECT)
очень явный … это означает Failed to connect() to host or proxy.
Следующий код будет работать в любой системе:
$ch = curl_init("http://google.com"); // initialize curl handle curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); $data = curl_exec($ch); print($data);
Если вы не видите страницу google, то .. your URL is wrong
или у вас есть проблема с firewall
или restriction
.
Вызывается ошибка CURL ERROR 7 Не удалось подключиться к разрешению отказа от прав, когда по какой-либо причине запрос на завивание блокируется каким-либо брандмауэром или подобной вещью.
вы столкнетесь с этой проблемой, когда когда-либо запрос на завивание не со стандартными портами.
например, если вы зависаете с некоторым URL-адресом, который находится на порту 1234, вы столкнетесь с этой проблемой, когда URL-адрес с портом 80 даст вам результаты легко.
Чаще всего эта ошибка наблюдается в CentOS и любой другой ОС с «SElinux».
вам нужно либо отключить, либо изменить «SElinux» на разрешающий
взгляните на этот
http://www.akashif.co.uk/php/curl-error-7-failed-to-connect-to-permission-denied
Надеюсь это поможет
Можете ли вы ударить по этому URL браузером или скриптом PHP? Произошла ошибка: вы не можете подключиться. Поэтому сначала убедитесь, что URL доступен.
В PHP, если ваша сеть под прокси. Вы должны установить URL-адрес прокси-сервера и порт
curl_setopt($ch, CURLOPT_PROXY, "http://url.com"); //your proxy url curl_setopt($ch, CURLOPT_PROXYPORT, "80"); // your proxy port number
Это решает мою проблему
Проверьте, заблокированы ли порты 80 и 443. или введите – IP graph.facebook.com и введите его в файл etc / hosts
Эта проблема также может быть вызвана созданием зависающих вызовов на https, когда она не настроена на удаленном устройстве. Вызов HTTP может решить эту проблему в этих ситуациях, по крайней мере, до тех пор, пока вы не настроите ssl на удаленном компьютере.
В моем случае у меня было что-то вроде cURL Error (7): ... Operation Timed Out
. Я использую сетевое подключение компании, над которой я работаю. Мне нужно было создать некоторые переменные среды. Следующий работал для меня:
В терминале Linux:
$ export https_proxy=yourProxy:80 $ export http_proxy=yourProxy:80
В Windows я создал (то же) переменные среды в пути Windows.
Я надеюсь, что это помогает!
С уважением!
В моем случае проблема была вызвана хостинг-провайдером, который я использовал блокирование http-пакетов, адресованных их IP-блоку, которые возникли из их IP-блока. Un-frickin-правдоподобно !!!
вы также можете получить это, если вы пытаетесь одновременно использовать один и тот же URL-адрес с несколькими HTTP-запросами. Многие запросы на завивки не смогут подключаться и поэтому возвращаются с ошибкой