zoukankan      html  css  js  c++  java
  • fsockopen读取、发送cookie及注意事项 -代码示例

    function httpPost($url, $data,$cookieStr='')
    {
    	$url_array = parse_url($url);	
    	$host = $url_array['host'];
    	$port = isset($url_array['port'])?($url_array['port']):80;
    	
    	 if(!($conn = fsockopen($host,$port,$errno, $errstr, 30)))
    	{
    		 return false; 
    	} 
    			
    	$header = "POST ".$url." HTTP/1.1
    ";
    	$header.= "Host : {$host}
    ";
    	$header.= "Content-type: application/x-www-form-urlencoded
    ";
    	$header.= "Content-Length:".strlen($data)."
    ";
    	$header.= "Connection: close
    ";
            //这里是用来写cookie的
    	if (!empty($cookieStr)) {
    		$header.="Cookie: ".$cookieStr."
    ";
    	}
    	//注意下面开头还加了个换行,结尾是两个换行
    	$header.= "
    {$data}
    
    ";
    	
    	//写数据
    	fwrite($conn,$header);
    	
        //这里读cookie
    	$cookieStr=array();
        //下面的判断,读到空行时,说明头已经结束了,接下来是内容。
        while( ($line=trim(fgets($conn))) != "" )   
            {   
    			$header.=$line; /*   */
                if(strstr($line,"Set-Cookie:"))   
                {   
                    list($coo,$cookieLine)=explode(" ",$line);
                    $cookieStr[] = $cookieLine;
                } 
            } 
        //if($len <= 0)   
        //{   
        //    return false; 
       // } 
        //读数据
        //$body=fread($conn,$len); 
        while (!feof($conn)) {
    	  $body .= fread($conn, 8192);
    	}
          
    	fclose($conn);
    	
    	$result['body'] = $body;
    	$result['cookieArr'] = $cookieStr;
    	
    	return $result;
    }
    

     转自:http://baiyuxiong.iteye.com/blog/786214

  • 相关阅读:
    延时显示(类QQ头像显示)
    getComputedStyle与currentStyle获取样式(style/class)
    私单
    厂里
    009 vue的响应式方法
    008 vue的v-for的使用及key的使用
    007 v-if,v-else-if,v-else和v-show
    006 Vue的v-on
    005 Vue 计算属性
    004 Vue的v-bind属性
  • 原文地址:https://www.cnblogs.com/mengdejun/p/6136415.html
Copyright © 2011-2022 走看看