<?php 
/** 
* 
* @Name : NetPHP.php 
* @Version : 1.1 
* @Programmer : Max 
* @Date : 2019-05-26, 2019-08-17 
* @Released under : https://github.com/BaseMax/NetPHP/blob/master/LICENSE 
* @Repository : https://github.com/BaseMax/NetPHP 
* 
**/ 
$debug=false; 
// $debug=true; 
$debug_details=true; 
$debug_details=false; 
function useragent() { 
    return "Mozilla/5.0 (Windows NT 6.1; r?) Gecko/20100101 Firefox/60.0"; 
    return "Mozilla/5.0(Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36(KHTML,like Gecko) curlrome/68.0.3440.106 Mobile Safari/537.36"; 
} 
function get_headers_from_curl_response($headerContent) { 
    $headers = array(); 
    $arrRequests = explode("\r\n\r\n",$headerContent); 
    for($index = 0; $index < count($arrRequests) -1; $index++) { 
        foreach(explode("\r\n",$arrRequests[$index]) as $i => $line) { 
            if($i === 0) 
                $headers[$index]['http_code'] = $line; 
            else { 
                list($key,$value) = explode(': ',$line); 
                $headers[$index][$key] = $value; 
            } 
        } 
    } 
    return $headers; 
} 
function post($url,$values,$headers=[],$reffer="",$auto_redirect=true) { 
    global $debug,$debug_details; 
    if($debug) { 
        print "@Request[POST]----------------------------------------------\n"; 
        print "----------@link ".$url."\n"; 
        if($debug_details) { 
            if($reffer!="") { 
                print "----------@Reffer\n"; 
                print $reffer; 
                print "\n"; 
            } 
            if(count($values)!=0) { 
                print "----------@Values\n"; 
                print_r($values); 
            } 
            if(count($headers)!=0) { 
                print "----------@Headers\n"; 
                print_r($headers); 
            } 
        } 
    } 
    $curl = curl_init($url); 
    if(is_array($headers)) { 
        curl_setopt($curl,CURLOPT_HTTPHEADER,$headers); 
    } 
    curl_setopt($curl,CURLOPT_RETURNTRANSFER,true); 
    curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,true); 
    curl_setopt($curl,CURLOPT_FOLLOWLOCATION,$auto_redirect); 
    curl_setopt($curl,CURLOPT_HEADER,true); 
    curl_setopt($curl,CURLOPT_VERBOSE,false); 
    curl_setopt($curl,CURLOPT_POST,true); 
    curl_setopt($curl,CURLOPT_POSTFIELDS,$values); 
    curl_setopt($curl,CURLOPT_USERAGENT,useragent()); 
    curl_setopt($curl,CURLOPT_COOKIEJAR,"_cookies.txt"); 
    curl_setopt($curl,CURLOPT_COOKIEFILE,"_cookies.txt"); 
    if($reffer != "") 
        curl_setopt($curl,CURLOPT_REFERER,$curl); 
    $response = curl_exec($curl); 
    $header_size = curl_getinfo($curl,CURLINFO_HEADER_SIZE); 
    $header = substr($response,0,$header_size); 
    $body = substr($response,$header_size); 
    $httpCode = curl_getinfo($curl,CURLINFO_HTTP_CODE); 
    curl_close($curl); 
    if($debug && $debug_details) { 
        print "----------@Response Headers\n"; 
        print_r($header); 
        print "----------@Response Body\n"; 
        print_r($body); 
        print "\n"; 
    } 
    if($httpCode == 404) { 
        return false; 
    } 
    return [$body,$header]; 
} 
function get($url,$headers=[],$reffer="",$auto_redirect=true) 
{ 
    global $debug,$debug_details; 
    if($debug) { 
        print "@Request[GET]----------------------------------------------\n"; 
        print "----------@link ".$url."\n"; 
        if($debug_details) { 
            if($reffer!="") { 
                print "----------@Reffer\n"; 
                print $reffer; 
                print "\n"; 
            } 
            if(count($headers)!=0) { 
                print "----------@Headers\n"; 
                print_r($headers); 
            } 
        } 
    } 
    $curl = curl_init($url); 
    if(is_array($headers)) { 
        curl_setopt($curl,CURLOPT_HTTPHEADER,$headers); 
    } 
    curl_setopt($curl,CURLOPT_RETURNTRANSFER,true); 
    curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,true); 
    curl_setopt($curl,CURLOPT_FOLLOWLOCATION,$auto_redirect); 
    curl_setopt($curl,CURLOPT_HEADER,true); 
    curl_setopt($curl,CURLOPT_VERBOSE,false); 
    curl_setopt($curl,CURLOPT_POST,false); 
    curl_setopt($curl,CURLOPT_USERAGENT,useragent()); 
    curl_setopt($curl,CURLOPT_COOKIEJAR,"_cookies.txt"); 
    curl_setopt($curl,CURLOPT_COOKIEFILE,"_cookies.txt"); 
    if($reffer != "") 
        curl_setopt($curl,CURLOPT_REFERER,$curl); 
    $response = curl_exec($curl); 
    $header_size = curl_getinfo($curl,CURLINFO_HEADER_SIZE); 
    $header = substr($response,0,$header_size); 
    $body = substr($response,$header_size); 
    $httpCode = curl_getinfo($curl,CURLINFO_HTTP_CODE); 
    curl_close($curl); 
    if($debug && $debug_details) { 
        print "----------@Response Headers\n"; 
        print_r($header); 
        print "----------@Response Body\n"; 
        print_r($body); 
        print "\n"; 
    } 
    if($httpCode == 404) { 
        return false; 
    } 
    return [$body,$header]; 
} 
 
 |