#php #node.js #curl
#php #node.js #curl
Вопрос:
Я купил сервер Linux у Godaddy. Я протестировал подключение и получение ответа от удаленного сервера, но он говорит, что CURL не удался. Кроме того, он также не работает в приложении узла.
Вот код PHP :
<?php
$url = 'http://dev.api/pay';
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, $url );
curl_setopt( $ch, CURLOPT_POST, true );
curl_setopt( $ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml'));
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_POSTFIELDS, "<xml>here</xml>" );
curl_setopt($ch, CURLOPT_PORT, '9085');
$result = curl_exec($ch);
$output = curl_getinfo($ch);
echo "<pre>";
var_dump($output);
echo "</pre>";
curl_close($ch);
var_dump($result);
. На самом деле этот код работает на localhost , но он не работает при доступе с сервера. Если исходящее соединение блокируется брандмауэром сервера, который я арендовал, как я могу отключить его или разрешить использовать только тот порт, который я намеревался использовать?
Комментарии:
1. Вы пытаетесь подключиться к нему через порт 8075, попробуйте использовать порт 80.
2. Нет, вы не поняли. Удаленный сервер — это API, который обслуживается на порту 8075
3. я думаю, вам следует спросить у unix.stackexchange.com вместо этого — но что вы получаете от
sudo iptables -S
этого ? (кстати, iirc, в отличие от их серий веб-хостинга, выделенные серверы godaddy переоценены, но это не мое дело)
Ответ №1:
У вас есть root-доступ? если это так, используйте iptables для удаления блокировки исходящего соединения.
Если у вас нет доступа root, ваш хост просто не разрешает исходящие соединения, и вы ничего не можете с этим поделать.
Комментарии:
1. Да, вы правы . Поскольку это общий хостинг, это невозможно сделать, поскольку для этого требуется root-доступ . Спасибо!