У меня есть приложение Flask с основной функцией, где я выставил app.run () для публичного ip, чтобы он был доступен с внешнего сервера; [используя Flask — внешне видимый сервер разработки ]
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run(host = '0.0.0.0', port = 8080)
Запрос curl, который я написал в своем php-коде:
$signed_url = "http://my-ip-address:8080/";
$ch = curl_init($signed_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
$data= curl_exec($ch);
echo $data;
Я могу сделать запрос curl:
curl http://my-ip-address:8080/
из командной строки. Однако, когда запрос curl встроен в мой PHP-код, он выдает ошибку «Отказано в соединении».
Пожалуйста, помогите!
Если код PHP находится на другом сервере, но ваш запрос cURL для командной строки находится на том же сервере, то вы не сравниваете яблоки с яблоками.
Две вещи, которые могут быть неправильными:
Пока ваш PHP-код выглядит правильно, поэтому я бы немного сузил проблему. Игнорируйте этот код PHP и попробуйте подключиться с помощью cURL в командной строке с того же сервера, на котором вы выполняете свой код PHP.
попробуйте установить свой порт с помощью параметров curl:
curl_setopt($ch, CURLOPT_PORT, 8080);
поэтому ваш подписанный URL будет:
$signed_url = "http://my-ip-address";