php ----http socket

function http_post($server,$host,$port,$url,$params,$timeout)
{
    $result="";
    //创建socket连接
    $fp = fsockopen($server,$port,$errno,$errstr,$timeout);
    if (!$fp)
    {
        $result = $errstr."--->".$errno;
        return $result;
    }

    $length = strlen($params);
    //构造post请求的头
    $header = "POST ".$url." HTTP/1.1\r\n";
    $header .= "Host:".$host."\r\n";
    $header .= "Referer:/qianxiang/post.php\r\n";
    $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
    $header .= "Content-Length: ".$length."\r\n";
    $header .= "Connection: Close\r\n\r\n";
    //添加post的字符串
    $header .= $params."\r\n";
    //发送post的数据
    fputs($fp,$header);
    $inheader = 1;
    while (!feof($fp)) 
    {
        $line = fgets($fp,1024); //去除请求包的头只显示页面的返回数据 
        if ($inheader && ($line == "\n" || $line == "\r\n")) 
        {
            $inheader = 0;
        }
        if ($inheader == 0)
        {
            $result .= $line; 
        }
    } 
    fclose($fp);
    return $result;
}

posted @ 2015-07-23 11:35  dcj890828  阅读(106)  评论(0编辑  收藏  举报