file_get_contents и curl не работает, проблема с заблокированным портом tcp - PullRequest
1 голос
/ 08 июля 2011

Я пытаюсь написать модуль joomla, который будет анализировать данные json из API Springer. У меня проблема с методом "file_get_contents" и другими заменами. Моя проблема в том, что:

Warning: file_get_contents(http://www.example.com) [function.file-get-contents]: failed to open stream: A socket operation was attempted to an unreachable network. in C:\wamp\www\modules\mod_springer\mod_springer.php on line 72

После некоторых поисков я обнаружил, что это может быть из-за брандмауэра моей компании. Есть ли способ преодолеть эту проблему, например, смена порта, использующего или использующего другой метод, или я застрял здесь?

примечание: allow_url_fopen включен. Я использую Wamp.

Заранее спасибо,

Ismail

Ответы [ 3 ]

2 голосов
/ 08 июля 2011

Вы не застряли, если можете убедить все, что у вас есть, разрешить вам доступ через брандмауэр к удаленному API, к которому вы хотите подключиться. Пока у вас есть уважительная причина и доступ к брандмауэру может быть предоставлен в узкой области (один конкретный IP-адрес и порт), я не понимаю, почему у вас должны быть проблемы с получением этого доступа.

1 голос
/ 08 июля 2011

Может быть (МОЖЕТ) преодолеть проблему с обработкой прокси-серверов cURL, например:

curl_setopt($ch, CURLOPT_PROXY, "http://xxx.xxx.xxx.xxx:8080");
curl_setopt($ch, CURLOPT_PROXYPORT, 8080);
curl_setopt ($ch, CURLOPT_PROXYUSERPWD, "xxx:xxx"); 

Это будет зависеть от нескольких вещей, таких как имеющиеся у вас разрешения, если это просто заблокированный порт илиесли это контроль доступа.

Надеюсь, это поможет вам, удачи

0 голосов
/ 15 февраля 2019
  1. Скачать cacert.pem файл с здесь
  2. Скопируйте cacert.pem файл, например, в c:/wamp/bin/php/extras/ssl папку
  3. Написать или раскомментировать в php.pni curl.cainfo ="c:/wamp/bin/php/extras/ssl/cacert.pem" and save
  4. Перезагрузить сервер Wamp / Xampp
  5. DONE
...