| 
<?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];
 }
 
 |