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

ソケットでHTTP接続
ソケットを使って外部HTTPの内容をヘッダとBODYに分けて取り出す関数です。

<?php

list($head,$body) = httpRequest("http://www.yahoo.co.jp");

function 
httpRequest($url)
{
    
$purl parse_url($url);
    
    if (isset(
$purl["query"])) {
        
$purl["query"] = "?".$purl["query"];
    } else {
        
$purl["query"] = "";
    }
    
    if (!isset(
$purl["port"])) {
        
$purl["port"] = 80;
    }
    
    
$request  "GET ".$purl["path"].$purl["query"]." HTTP/1.0\r\n";
    
$request .= "Host: ".$purl["host"]."\r\n";
    
$request .= "\r\n";
    
    
// タイムアウトを8秒に設定
    
$fp fsockopen($purl["host"], $purl["port"], $errno$errstr8);
    
socket_set_timeout($fp8);
    
    if (!
$fp) {
        return 
"-1";
    }
    
    
fputs($fp$request);
    
    
$response "";
    while (!
feof($fp)) {
        
$response .= fgets($fp4096);
    }
    
fclose($fp);
    
    
$DATA split("\r\n\r\n"$response2);
    
    return 
$DATA;
}
?>

スポンサードリンク


管理人の新着ブログ記事

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