Wednesday, February 19, 2014

how to register sub reseller httpapi curl php


Signing Up a Sub-Reseller Account using the httpapi.com api. It requires POST HTTP Method. You can use following function to register sub reseller with api intergration. You need auth-userid and api-key or auth-password for that. Look at code for more.

<?php
/*
Online PHP Examples with Source Code
website: http://4evertutorials.blogspot.in/
*/


function SIGNUP_RESELLER($data)
{
 // post all required data through via $_POST in $data
 $_data = $data;

 # API Url: for test=>https://test.httpapi.com , for live=>https://httpapi.com
 $api_url = 'https://test.httpapi.com'; 

 $auth_userid = ''; // reseller unique id
 $api_key = ''; // api-key or reseller password

 if(isset($auth_userid) && isset($api_key))
 {
  $handle = curl_init();
  curl_setopt($handle, CURLOPT_URL,$api_url.'/api/resellers/signup.xml');
  curl_setopt($handle, CURLOPT_POST, 1);
  curl_setopt($handle, CURLOPT_POSTFIELDS,
              'auth-userid='.$auth_userid.'&api-key='.$api_key.'&username='.urlencode($_data['username']).'&passwd='.urlencode($_data['passwd']).'&name='.urlencode($_data['name']).'&company='.urlencode($_data['company']).'&address-line-1='.urlencode($_data['address1']).'&city='.urlencode($_data['city']).'&state='.urlencode($_data['state']).'&country='.urlencode($_data['country']).'&zipcode='.urlencode($_data['zip']).'&phone-cc='.urlencode($_data['telnocc']).'&phone='.urlencode($_data['telno']).'&lang-pref='.$_data['langpref'].'&accounting-currency-symbol='.$_data['accountingcurrencysymbol'].'&selling-currency-symbol='.$_data['sellingcurrencysymbol']   );

  // receive server response ...
  curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
  $server_output = curl_exec ($handle);
  curl_close ($handle);


  // echo $server_output;
  if( strpos($server_output,'AlreadyReseller') === FALSE)
  {
   echo "You're Almost Done. Your Sub-Reseller Account has been successfully registered.";
   return true;
  }
  else
  {
   echo "".$_data['username']." Already Reseller";
  }

 }

 return false;


}

?>
USAGE
<?php
/*
Online PHP Examples with Source Code
website: http://4evertutorials.blogspot.in/
*/

 
    if($_SERVER["REQUEST_METHOD"] == "POST")
    {

       SIGNUP_RESELLER($_POST);
                              
    }
    else
    {
        $_POST = NULL;
    }

?>

Wednesday, February 5, 2014

Domain or IP whois information in php


Each Top Level Domain (TLD) has totally different whois server (example: .com and .net whois server is whois.verisign-grs.com) that listen at port no. 43. During this blog post we have list of whois servers according to their TLD. First extract TLD from domain and find its whois server. Then connect with whois server on port 43 using fsockopen() and write the domain name using fputs(). And at last read the response using fgets().

This class contains Automatically remove http:// and www. from start of domain, No dependencies, In-built IP and domain validator, Automatically lookup for secondary whois server features.

Following  is PHP class to get Domain or IP whois information. Save it as whois-lookup.php

<?php
/*
Online PHP Examples with Source Code
website: http://4evertutorials.blogspot.in/
*/

class getWhois{


private $WHOIS_SERVERS = array(
"com"               =>  array("whois.verisign-grs.com","whois.crsnic.net"),
"net"               =>  array("whois.verisign-grs.com","whois.crsnic.net"),
"org"               =>  array("whois.pir.org","whois.publicinterestregistry.net"),
"info"              =>  array("whois.afilias.info","whois.afilias.net"),
"biz"               =>  array("whois.neulevel.biz"),
"us"                =>  array("whois.nic.us"),
"uk"                =>  array("whois.nic.uk"),
"ca"                =>  array("whois.cira.ca"),
"tel"               =>  array("whois.nic.tel"),
"ie"                =>  array("whois.iedr.ie","whois.domainregistry.ie"),
"it"                =>  array("whois.nic.it"),
"li"                =>  array("whois.nic.li"),
"no"                =>  array("whois.norid.no"),
"cc"                =>  array("whois.nic.cc"),
"eu"                =>  array("whois.eu"),
"nu"                =>  array("whois.nic.nu"),
"au"                =>  array("whois.aunic.net","whois.ausregistry.net.au"),
"de"                =>  array("whois.denic.de"),
"ws"                =>  array("whois.worldsite.ws","whois.nic.ws","www.nic.ws"),
"sc"                =>  array("whois2.afilias-grs.net"),
"mobi"              =>  array("whois.dotmobiregistry.net"),
"pro"               =>  array("whois.registrypro.pro","whois.registry.pro"),
"edu"               =>  array("whois.educause.net","whois.crsnic.net"),
"tv"                =>  array("whois.nic.tv","tvwhois.verisign-grs.com"),
"travel"            =>  array("whois.nic.travel"),
"name"              =>  array("whois.nic.name"),
"in"                =>  array("whois.inregistry.net","whois.registry.in"),
"me"                =>  array("whois.nic.me","whois.meregistry.net"),
"at"                =>  array("whois.nic.at"),
"be"                =>  array("whois.dns.be"),
"cn"                =>  array("whois.cnnic.cn","whois.cnnic.net.cn"),
"asia"              =>  array("whois.nic.asia"),
"ru"                =>  array("whois.ripn.ru","whois.ripn.net"),
"ro"                =>  array("whois.rotld.ro"),
"aero"              =>  array("whois.aero"),
"fr"                =>  array("whois.nic.fr"),
"se"                =>  array("whois.iis.se","whois.nic-se.se","whois.nic.se"),
"nl"                =>  array("whois.sidn.nl","whois.domain-registry.nl"),
"nz"                =>  array("whois.srs.net.nz","whois.domainz.net.nz"),
"mx"                =>  array("whois.nic.mx"),
"tw"                =>  array("whois.apnic.net","whois.twnic.net.tw"),
"ch"                =>  array("whois.nic.ch"),
"hk"                =>  array("whois.hknic.net.hk"),
"ac"                =>  array("whois.nic.ac"),
"ae"                =>  array("whois.nic.ae"),
"af"                =>  array("whois.nic.af"),
"ag"                =>  array("whois.nic.ag"),
"al"                =>  array("whois.ripe.net"),
"am"                =>  array("whois.amnic.net"),
"as"                =>  array("whois.nic.as"),
"az"                =>  array("whois.ripe.net"),
"ba"                =>  array("whois.ripe.net"),
"bg"                =>  array("whois.register.bg"),
"bi"                =>  array("whois.nic.bi"),
"bj"                =>  array("www.nic.bj"),
"br"                =>  array("whois.nic.br"),
"bt"                =>  array("whois.netnames.net"),
"by"                =>  array("whois.ripe.net"),
"bz"                =>  array("whois.belizenic.bz"),
"cd"                =>  array("whois.nic.cd"),
"ck"                =>  array("whois.nic.ck"),
"cl"                =>  array("nic.cl"),
"coop"              =>  array("whois.nic.coop"),
"cx"                =>  array("whois.nic.cx"),
"cy"                =>  array("whois.ripe.net"),
"cz"                =>  array("whois.nic.cz"),
"dk"                =>  array("whois.dk-hostmaster.dk"),
"dm"                =>  array("whois.nic.cx"),
"dz"                =>  array("whois.ripe.net"),
"ee"                =>  array("whois.eenet.ee"),
"eg"                =>  array("whois.ripe.net"),
"es"                =>  array("whois.ripe.net"),
"fi"                =>  array("whois.ficora.fi"),
"fo"                =>  array("whois.ripe.net"),
"gb"                =>  array("whois.ripe.net"),
"ge"                =>  array("whois.ripe.net"),
"gl"                =>  array("whois.ripe.net"),
"gm"                =>  array("whois.ripe.net"),
"gov"               =>  array("whois.nic.gov"),
"gr"                =>  array("whois.ripe.net"),
"gs"                =>  array("whois.adamsnames.tc"),
"hm"                =>  array("whois.registry.hm"),
"hn"                =>  array("whois2.afilias-grs.net"),
"hr"                =>  array("whois.ripe.net"),
"hu"                =>  array("whois.ripe.net"),
"il"                =>  array("whois.isoc.org.il"),
"int"               =>  array("whois.isi.edu"),
"iq"                =>  array("vrx.net"),
"ir"                =>  array("whois.nic.ir"),
"is"                =>  array("whois.isnic.is"),
"je"                =>  array("whois.je"),
"jp"                =>  array("whois.jprs.jp"),
"kg"                =>  array("whois.domain.kg"),
"kr"                =>  array("whois.nic.or.kr"),
"la"                =>  array("whois2.afilias-grs.net"),
"lt"                =>  array("whois.domreg.lt"),
"lu"                =>  array("whois.restena.lu"),
"lv"                =>  array("whois.nic.lv"),
"ly"                =>  array("whois.lydomains.com"),
"ma"                =>  array("whois.iam.net.ma"),
"mc"                =>  array("whois.ripe.net"),
"md"                =>  array("whois.nic.md"),
"mil"               =>  array("whois.nic.mil"),
"mk"                =>  array("whois.ripe.net"),
"ms"                =>  array("whois.nic.ms"),
"mt"                =>  array("whois.ripe.net"),
"mu"                =>  array("whois.nic.mu"),
"my"                =>  array("whois.mynic.net.my"),
"nf"                =>  array("whois.nic.cx"),
"pl"                =>  array("whois.dns.pl"),
"pr"                =>  array("whois.nic.pr"),
"pt"                =>  array("whois.dns.pt"),
"sa"                =>  array("saudinic.net.sa"),
"sb"                =>  array("whois.nic.net.sb"),
"sg"                =>  array("whois.nic.net.sg"),
"sh"                =>  array("whois.nic.sh"),
"si"                =>  array("whois.arnes.si"),
"sk"                =>  array("whois.sk-nic.sk"),
"sm"                =>  array("whois.ripe.net"),
"st"                =>  array("whois.nic.st"),
"su"                =>  array("whois.ripn.net"),
"tc"                =>  array("whois.adamsnames.tc"),
"tf"                =>  array("whois.nic.tf"),
"th"                =>  array("whois.thnic.net"),
"tj"                =>  array("whois.nic.tj"),
"tk"                =>  array("whois.nic.tk"),
"tl"                =>  array("whois.domains.tl"),
"tm"                =>  array("whois.nic.tm"),
"tn"                =>  array("whois.ripe.net"),
"to"                =>  array("whois.tonic.to"),
"tp"                =>  array("whois.domains.tl"),
"tr"                =>  array("whois.nic.tr"),
"ua"                =>  array("whois.ripe.net"),
"uy"                =>  array("nic.uy"),
"uz"                =>  array("whois.cctld.uz"),
"va"                =>  array("whois.ripe.net"),
"vc"                =>  array("whois2.afilias-grs.net"),
"ve"                =>  array("whois.nic.ve"),
"vg"                =>  array("whois.adamsnames.tc"),
"yu"                =>  array("whois.ripe.net")
);

	public function whoislookup($domain)
	{
		$domain = trim($domain); //remove space from start and end of domain
		if(substr(strtolower($domain), 0, 7) == "http://") $domain = substr($domain, 7); // remove http:// if included
			if(substr(strtolower($domain), 0, 4) == "www.") $domain = substr($domain, 4);//remove www from domain
			if(preg_match("/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/",$domain))
			return $this->queryWhois("whois.lacnic.net",$domain);
			elseif(preg_match("/^([-a-z0-9]{2,100})\.([a-z\.]{2,8})$/i",$domain))
			{
				$domain_parts = explode(".", $domain);
				$tld = strtolower(array_pop($domain_parts));
				$server = $this->WHOIS_SERVERS[$tld][0];
					if(!$server) {
					return "Error: No appropriate Whois server found for $domain domain!";
					}
				$res=$this->queryWhois($server,$domain);
					while(preg_match_all("/Whois Server: (.*)/", $res, $matches))
					{
					$server=array_pop($matches[1]);
					$res=$this->queryWhois($server,$domain);
					}
				return $res;
			}
		else
		return "Invalid Input";
	}


	private function queryWhois($server,$domain)
	{
		$fp = @fsockopen($server, 43, $errno, $errstr, 20) or die("Socket Error " . $errno . " - " . $errstr);
		if($server=="whois.verisign-grs.com")
		$domain="=".$domain;
		fputs($fp, $domain . "\r\n");
		$out = "";
			while(!feof($fp)){
			$out .= fgets($fp);
			}
		fclose($fp);
		return $out;
	}

}


?>


Usage of class


<?php
/*
Online PHP Examples with Source Code
website: http://4evertutorials.blogspot.in/
*/


require_once("whois-lookup.php")
$whois=new getWhois;
echo $whois->whoislookup("Your domain or IP");


?>

Tuesday, February 4, 2014

Get Google pagerank by php

We all are able to read pagerank of any page in google toolbar. However google does not give any API to access it's Pagerank information. Therefore during this blog we are going to explain you how to get google pagerank in php code. Pagerank is a ranking given to any page between 0 to 10 by google. It's based mostly upon total numbers of backlinks to page. The higher pagerank can get higher position in search listing of google.

Following  is PHP class to get Google Pagerank. Save it as google-pagerank.php


<?php
/*
Online PHP Examples with Source Code
website: http://4evertutorials.blogspot.in/
*/

class GooglePageRank {

  public function show_google_pagerank($url) {
  $query="http://toolbarqueries.google.com/tbr?client=navclient-auto&ch=".$this->CheckforHash($this->getHashURL($url)). "&features=Rank&q=info:".$url."&num=100&filter=0";
  $data=file_get_contents($query);
  $pos = strpos($data, "Rank_");
   if($pos === false){} else{
   $pagerank = substr($data, $pos + 9);
   return $pagerank;
   }
  }

  public function StringToNumber($Str, $Check, $Magic)
  {
  $Int32Unit = 4294967296; // 2^32
  $length = strlen($Str);
   for ($i = 0; $i < $length; $i++) {
   $Check *= $Magic;
    if ($Check >= $Int32Unit) {
    $Check = ($Check - $Int32Unit * (int) ($Check / $Int32Unit));
    $Check = ($Check < -2147483648) ? ($Check + $Int32Unit) : $Check;
    }
   $Check += ord($Str{$i});
   }
  return $Check;
  }

  public function getHashURL($String)
  {
  $Check1 = $this->StringToNumber($String, 0x1505, 0x21);
  $Check2 = $this->StringToNumber($String, 0, 0x1003F);
  $Check1 >>= 2;
  $Check1 = (($Check1 >> 4) & 0x3FFFFC0 ) | ($Check1 & 0x3F);
  $Check1 = (($Check1 >> 4) & 0x3FFC00 ) | ($Check1 & 0x3FF);
  $Check1 = (($Check1 >> 4) & 0x3C000 ) | ($Check1 & 0x3FFF);
  $T1 = (((($Check1 & 0x3C0) << 4) | ($Check1 & 0x3C)) <<2 ) | ($Check2 & 0xF0F );
  $T2 = (((($Check1 & 0xFFFFC000) << 4) | ($Check1 & 0x3C00)) << 0xA) | ($Check2 & 0xF0F0000 );
  return ($T1 | $T2);
  }

  public function CheckforHash($Hashnum)
  {
  $CheckByte = 0;
  $Flag = 0;
  $HashStr = sprintf('%u', $Hashnum) ;
  $length = strlen($HashStr);
   for ($i = $length - 1; $i >= 0; $i --) {
   $Re = $HashStr{$i};
    if (1 === ($Flag % 2)) {
    $Re += $Re;
    $Re = (int)($Re / 10) + ($Re % 10);
    }
   $CheckByte += $Re;
   $Flag ++;
   }
  $CheckByte %= 10;
   if (0 !== $CheckByte) {
   $CheckByte = 10 - $CheckByte;
    if (1 === ($Flag % 2) ) {
     if (1 === ($CheckByte % 2)) {
     $CheckByte += 9;
     }
    $CheckByte >>= 1;
    }
   }
  return '7'.$CheckByte.$HashStr;
  }

}

?>

Usage of class

<?php
/*
Online PHP Examples with Source Code
website: http://4evertutorials.blogspot.in/
*/

require_once("google-pagerank.php");
$site_url='http://http://4evertutorials.blogspot.in';
$pagerank = new GooglePageRank();
echo "The $site_url has Google PageRank is ". $pagerank->show_google_pagerank($site_url) ;

?>
 

© 2014 4everTutorials. All rights resevered.

Back To Top