php spot
phpが使えるレンタルサーバー特集
検索グラス
トップページへ

ソケットの使いかた
fsockopen を使います。

後はファイルポインタを使用してファイルを扱うようにリモートからデータを読み込めます。

<?php
 
// タイムアウトを30秒に設定に www.php.net の 80 番ポートに接続
 // エラーがあれば $errno,$errstr に入る。
$fp fsockopen ("www.php.net"80$errno$errstr30);
if (!
$fp) {
    echo 
"接続できません<br>\n";
} else {
    
// 読み書きのタイムアウト設定
    
socket_set_timeout($fp2);
    
fputs ($fp"GET / HTTP/1.0\r\nHost: www.php.net\r\n\r\n");
    while (!
feof($fp)) {
        echo 
fgets ($fp,128);
    }
    
// ソケットがタイムアウトしたかどうか調べる
    
$stat socket_get_status($fp);
    if (
$stat["timed_out"]) { echo "timeout"; }
    
// ソケットを閉じる
    
fclose ($fp);
}
?>

上記例では、www.php.net の HTTP に接続してドキュメントを取ってきています。
phpでは、もっと簡単にデータをとってくることも可能ですが、リファラやユーザエージェントを送りたい場合などにこの関数を使って行うことがあります。

リファラ,ユーザエージェントを送るには、

fputs ($fp, "GET / HTTP/1.0\r\nHost: www.php.net\r\nReferer: http://www.yahoo.com\r\nUser-Agent:php-agent\r\n\r\n");

のようにします。

スポンサードリンク



PHPサンプル集
管理人の新着ブログ記事

    プライバシーポリシー | お問い合わせ
copyright © 2003-2024 phpspot all rights reserved. powered by phpspot CMS.