PHP fsockopen () - PullRequest
       14

PHP fsockopen ()

0 голосов
/ 27 апреля 2011


простой короткий вопрос: могу ли я передать ip хоста в функцию fsockopen () вместо его имени? Мне нужно установить соединение между 2 серверами, и сейчас мне нужно работать на одном компьютере, яМы никогда раньше не использовали fsockopen, поэтому приветствуется простой пример. Спасибо заранее =)

Ответы [ 3 ]

3 голосов
/ 27 апреля 2011

Я бы сказал, что вместо использования fsockopen() для выполнения HTTP между двумя серверами было бы проще использовать curl тогда, потому что в нем уже есть все, что вам нужно.

Технически, если вы используете fsockopen() для HTTP-связи, вы собираетесь разработать еще один HTTP-клиент. Поскольку curl является HTTP-клиентом, я не вижу необходимости изобретать велосипед ^^

EDIT :

То есть вы действительно должны использовать fsockopen()?

Хорошо. Вот ссылка на Simon Willisons PHP HTTP-клиент . Возможно, он старый и устаревший, и охватывает только очень небольшое подмножество функций клиента HTTP, но он поставляется с исходным кодом и должен помочь вам понять, как использовать fsockopen для выполнения HTTP-запроса.

1 голос
/ 27 апреля 2011

например

fsockopen(gethostbyaddr("127.0.0.1"), ...
0 голосов
/ 27 апреля 2011

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

Если вы хотите получить что-то одним сервером от другого с помощью php, просто используйте CURL.Вам необходимо установить расширение curl php, чтобы использовать его.

<?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "http://yourserver.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);

$r = curl_exec($ch);
curl_close($ch);
?>

Также, если вы используете Zend Framework, вы можете установить классы Zend_Http_Adapter_Curl

...