Advertisement
spyroot

class curl

Jan 21st, 2019
6,367
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2.  
  3. class curl {
  4.     var $ch, $agent, $error, $info, $cookiefile, $savecookie;
  5.     function curl() {
  6.         $this->agent = $this->get_agent(rand(0,44));
  7.         $this->ch = curl_init();
  8.         curl_setopt ($this->ch, CURLOPT_USERAGENT, $this->agent);
  9.         curl_setopt ($this->ch, CURLOPT_HEADER, 1);
  10.         curl_setopt ($this->ch, CURLOPT_RETURNTRANSFER, 1);
  11.         curl_setopt ($this->ch, CURLOPT_SSL_VERIFYPEER, 0);
  12.         curl_setopt ($this->ch, CURLOPT_SSL_VERIFYHOST, 1);
  13.         curl_setopt ($this->ch, CURLOPT_FOLLOWLOCATION, true);
  14.         curl_setopt ($this->ch, CURLOPT_TIMEOUT, 30);
  15.         curl_setopt ($this->ch, CURLOPT_CONNECTTIMEOUT, 30);
  16.     }
  17.     function http_code() {
  18.         return curl_getinfo($this->ch, CURLINFO_HTTP_CODE);
  19.     }
  20.     function timeout($time){
  21.         curl_setopt ($this->ch, CURLOPT_TIMEOUT, $time);
  22.         curl_setopt ($this->ch, CURLOPT_CONNECTTIMEOUT,$time);
  23.     }
  24.     function ssl($veryfyPeer, $verifyHost){
  25.         curl_setopt($this->ch, CURLOPT_SSL_VERIFYPEER, $veryfyPeer);
  26.         curl_setopt($this->ch, CURLOPT_SSL_VERIFYHOST, $verifyHost);
  27.     }
  28.     function header($header) {
  29.         curl_setopt ($this->ch, CURLOPT_HTTPHEADER, $header);
  30.     }
  31.     function cookies($cookie_file_path) {
  32.         $this->cookiefile = $cookie_file_path;
  33.         $fp = fopen($this->cookiefile,'wb'); fclose($fp);
  34.         curl_setopt ($this->ch, CURLOPT_COOKIEJAR, $this->cookiefile);
  35.         curl_setopt ($this->ch, CURLOPT_COOKIEFILE, $this->cookiefile);
  36.     }
  37.     function socks($sock) {
  38.         curl_setopt ($this->ch, CURLOPT_HTTPPROXYTUNNEL, true);
  39.         curl_setopt ($this->ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
  40.         curl_setopt ($this->ch, CURLOPT_PROXY, $sock);
  41.     }
  42.     function post($url, $data) {
  43.         curl_setopt($this->ch, CURLOPT_POST, 1);
  44.         curl_setopt($this->ch, CURLOPT_POSTFIELDS, $data);
  45.         return $this->getPage($url);
  46.     }
  47.     function data($url, $data, $hasHeader=true, $hasBody=true) {
  48.         curl_setopt ($this->ch, CURLOPT_POST, 1);
  49.         curl_setopt ($this->ch, CURLOPT_POSTFIELDS, http_build_query($data));
  50.         return $this->getPage($url, $hasHeader, $hasBody);
  51.     }
  52.     function get($url, $hasHeader=true, $hasBody=true) {
  53.         curl_setopt ($this->ch, CURLOPT_POST, 0);
  54.         return $this->getPage($url, $hasHeader, $hasBody);
  55.     }
  56.     function getPage($url, $hasHeader=true, $hasBody=true) {
  57.         curl_setopt($this->ch, CURLOPT_HEADER, false);
  58.         curl_setopt($this->ch, CURLOPT_NOBODY, $hasBody ? 0 : 1);
  59.         curl_setopt ($this->ch, CURLOPT_URL, $url);
  60.         $data = curl_exec ($this->ch);
  61.         $this->error = curl_error ($this->ch);
  62.         $this->info = curl_getinfo ($this->ch);
  63.         return $data;
  64.     }
  65.     function close() {
  66.         unlink($this->cookiefile);
  67.         curl_close ($this->ch);
  68.     }
  69.     function get_agent($z){
  70.         switch ($z){
  71.             case 0: $agent= "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0"; break;
  72.             case 1: $agent= "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1"; break;
  73.             case 2: $agent= "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";   break;
  74.             case 3: $agent= "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)";   break;
  75.             case 4: $agent= "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)";   break;
  76.             case 5: $agent= "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";  break;
  77.             case 6: $agent= "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9a8) Gecko/2007100619 GranParadiso/3.0a8";  break;
  78.             case 7: $agent= "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1b3) Gecko/20090305 Firefox/3.1b3"; break;
  79.             case 8: $agent= "Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4325)";   break;
  80.             case 9: $agent= "Mozilla/4.0 (Windows; MSIE 6.0; Windows NT 6.0)";  break;
  81.             case 10:    $agent= "Mozilla/4.0 (compatible; MSIE 5.5b1; Mac_PowerPC)";    break;
  82.             case 11:    $agent= "Mozilla/4.0 (compatible; MSIE 7.0; AOL 9.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)";  break;
  83.             case 12:    $agent= "Mozilla/4.0 (compatible; MSIE 7.0; AOL 9.0; Windows NT 5.1; .NET CLR 1.1.4322; InfoPath.1; MS-RTC LM 8)";  break;
  84.             case 13:    $agent= "Mozilla/4.0 (compatible; MSIE 7.0; AOL 9.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1; .NET CLR 3.0.04506.30)";    break;
  85.             case 14:    $agent= "Mozilla/4.0 (compatible; MSIE 7.0; AOL 9.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; InfoPath.1)";    break;
  86.             case 15:    $agent= "Mozilla/4.0 (compatible; MSIE 7.0; AOL 9.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)";    break;
  87.             case 16:    $agent= "Mozilla/4.0 (compatible; MSIE 6.0; America Online Browser 1.1; rev1.5; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";   break;
  88.             case 17:    $agent= "Mozilla/5.0 (X11; U; Linux; it-IT) AppleWebKit/527+ (KHTML, like Gecko, Safari/419.3) Arora/0.4 (Change: 413 12f13f8)";    break;
  89.             case 18:    $agent= "Mozilla/5.0 (X11; U; Linux; en-GB) AppleWebKit/527+ (KHTML, like Gecko, Safari/419.3) Arora/0.3 (Change: 239 52c6958)";    break;
  90.             case 19:    $agent= "Mozilla/5.0 (X11; U; Linux; en-US) AppleWebKit/523.15 (KHTML, like Gecko, Safari/419.3) Arora/0.2 (Change: 189 35c14e0)";  break;
  91.             case 20:    $agent= "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; Avant Browser; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)";   break;
  92.             case 21:    $agent= "Mozilla/5.0 (Windows; U; WinNT; en; rv:1.0.2) Gecko/20030311 Beonex/0.8.2-stable"; break;
  93.             case 22:    $agent= "Mozilla/5.0 (X11; U; Linux x86_64; en-GB; rv:1.8.1b1) Gecko/20060601 BonEcho/2.0b1 (Ubuntu-edgy)"; break;
  94.             case 23:    $agent= "Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en; rv:1.8.1.4pre) Gecko/20070521 Camino/1.6a1pre"; break;
  95.             case 24:    $agent= "Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en) AppleWebKit/419 (KHTML, like Gecko, Safari/419.3) Cheshire/1.0.ALPHA";  break;
  96.             case 25:    $agent= "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.0.1) Gecko/20021216 Chimera/0.6";  break;
  97.             case 26:    $agent= "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/530.1 (KHTML, like Gecko) Chrome/2.0.164.0 Safari/530.1";  break;
  98.             case 27:    $agent= "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.2; .NET CLR 2.0.50727; .NET CLR 1.1.4322; Crazy Browser 3.0.0 Beta2)"; break;
  99.             case 28:    $agent= "Mozilla/5.0 (X11; U; Linux i686; en; rv:1.8.1.12) Gecko/20080208 (Debian-1.8.1.12-2) Epiphany/2.20";   break;
  100.             case 29:    $agent= "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1b2pre) Gecko/20081015 Fennec/1.0a1";   break;
  101.             case 30:    $agent= "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.6b) Gecko/20031212 Firebird/0.7+";    break;
  102.             case 31:    $agent= "Mozilla/5.0 (X11; U; Linux i686; it-IT; rv:1.9.0.2) Gecko/2008092313 Ubuntu/9.04 (jaunty) Firefox/3.5";    break;
  103.             case 32:    $agent= "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9b3) Gecko/2008020514 Firefox/3.0b3";    break;
  104.             case 33:    $agent= "Mozilla/5.0 (Windows; U; Windows NT 6.0; it; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9";  break;
  105.             case 34:    $agent= "Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.5) Gecko/20070713 Firefox/2.0.0.5";  break;
  106.             case 35:    $agent= "Mozilla/4.76 [en] (X11; U; Linux 2.4.9-34 i686)";  break;
  107.             case 36:    $agent= "Mozilla/4.75 [fr] (WinNT; U)"; break;
  108.             case 37:    $agent= "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Opera 7.52 [en]";   break;
  109.             case 38:    $agent= "Mozilla/4.0 (compatible; MSIE 6.0; ; Linux i686) Opera 7.50 [en]"; break;
  110.             case 39:    $agent= "Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10.5; en-US; rv:1.9.1b3pre) Gecko/20081212 Mozilla/5.0 (Windows; U; Windows NT 5.1; en) AppleWebKit/526.9 (KHTML, like Gecko) Version/4.0dp1 Safari/526.8";    break;
  111.             case 40:    $agent= "Mozilla/5.0 (X11; U; Linux i686; de-AT; rv:1.8.0.2) Gecko/20060309 SeaMonkey/1.0"; break;
  112.             case 41:    $agent= "Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.7.6) Gecko/20050405 Epiphany/1.6.1 (Ubuntu) (Ubuntu package 1.0.2)";  break;
  113.             case 42:    $agent= "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.5) Gecko/20060731 Firefox/1.5.0.5 Flock/0.7.4.1"; break;
  114.             case 43:    $agent= "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/0.2.153.1 Safari/525.19 ";   break;
  115.             case 44:    $agent= "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9b5) Gecko/2008032620 Firefox/3.0b5 ";    break;
  116.         }
  117.         return $agent;
  118.     }
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement