У меня есть своеобразная проблема, с которой я сталкиваюсь с Php CURL.
Я пытаюсь вызвать веб-службу, запущенную на машине Windows в той же сети, через php-скрипт, запущенный на рабочей станции centos. Я использую CURL. Проблема в том, что я могу получить доступ к URL-адресу с браузером, и он работает отлично. BUt, когда я пытаюсь использовать php-скрипт, он дает код ошибки 7.
Но если я попробую локальный IP-адрес и google в php-скрипте, он будет работать без проблем. В чем может быть проблема? Я пытался заставить меня обойти эту проблему в течение последних нескольких часов, но я не могу ее сортировать.
Я также хотел бы добавить, когда я использую crl через терминал, я получаю правильный ответ. HTTP 200OK
Требуется помощь 🙂
$curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_HEADER => 1, CURLOPT_TIMEOUT => 4, CURLOPT_USERAGENT=>'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13', CURLOPT_VERBOSE => 1, CURLOPT_PORT => 9710, CURLOPT_URL => 'http://192.168.100.4:9710/http/send-message?message='.$message )); // Send the request & save response to $resp $resp = curl_exec($curl); echo "<br>Error Code : " .curl_errno($curl);
Что произойдет, если вы попробуете:
$curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_HEADER => 1, CURLOPT_VERBOSE => 1, CURLOPT_URL => 'http://192.168.100.4:9710/http/send-message?message='.$message )); if(curl_exec($curl) === false) { echo 'Curl error: ' . curl_error($ch); } else { echo 'Success!'; }
Одна вещь, которую я заметил, это то, что вы пытались получить доступ к порту дважды.
На машине Centos был включен selinux, и это вызывало проблему. Спасибо за помощь ребята.