ホームページ > バックエンド開発 > PHPチュートリアル > PHPはソケット経由でWebサーバーの応答内容を取得します。

PHPはソケット経由でWebサーバーの応答内容を取得します。

WBOY
リリース: 2016-07-28 08:27:38
オリジナル
1063 人が閲覧しました

$url="www.baidu.com";  //ドメイン名
$path="/";  //路径
$type="GET"; //请求方法
error_reporting(E_ALL);
echo "

TCP/IP Connection

n";
/* 获取口口号 */
$service_port = getservbyname('www', 'tcp') ;
/* 获取ip地址。 */
$address = gethostbyname($url);
/* TCP/IP ソケットを構築します。 */
$socket =ソケット_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
echo "socket_create() 失敗しました: 理由: " .ソケット_strerror(socket_last_error()) 。 "n";
} else {
echo "OK.n";
}
echo "ポート '$service_port' 上の '$address' に接続しようとしています...";
$result =socket_connect($socket, $ address, $service_port);
if ($result === false) {
echo "socket_connect() failed.nReason: ($result) " . socket_strerror(socket_last_error($socket)) 。 "n";
} else {
echo "OK.n";
}
$in = $type." ".$path." HTTP/1.1rn";
$in .= "ホスト: ".$url ."rn";
$in .= "接続: Closernrn";
$out = '';
echo "HTTP HEAD リクエストを送信中...";
socket_write($socket, $in, strlen($in)) ;
echo "OK.n";
echo "応答を読み取っています:nn";
while ($out =ソケット_read($socket, 2048)) {
echo $out;
}
echo "ソケットを閉じています...";
socket_close($socket);
echo "OK.nn";
?>

以上は、php がソケット パケットを介して Web サーバーから取得した関連コンテンツ (側面のコンテンツを含む) を示したもので、PHP 教程に関心のある友人の助けになることを望みます。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート