백엔드 개발 PHP 튜토리얼 PHP获取PR值的代码_PHP教程

PHP获取PR值的代码_PHP教程

Jul 13, 2016 pm 05:47 PM
php 아래에 암호 쓰다 인터페이스 사용 ~의 얻다 Google 소프트웨어

 

用C#写个软件,不知道谷歌的接口用C#写感觉太麻烦了

于是在csdn下载了一份代码,改成用软件查询的接口。

http://www.xssxss.com/pr.php?url=www.google.com

代码

$url= $_GET['url'];

// url get method macro.

define('G_PR_GET_TYPE_FILE', 1); // use fopen() function

define('G_PR_GET_TYPE_SOCKET', 2); // use standard fsocketopen function

// main function to be called

function getPR($_url,$gettype=G_PR_GET_TYPE_SOCKET){

$url = 'info:'.$_url;

$ch = GCH(strord($url));

$ch = NewGCH($ch);

$url=str_replace("_","%5F",'info:'.urlencode($_url));

$googlePRUrl =

"http://toolbarqueries.google.com/tbr?client=navclient-auto&ch=6"

.$ch."&ie=UTF-8&oe=UTF-8&features=Rank&q=".$url;

$pr_str = retrieveURLContent($googlePRUrl,$gettype);

return substr($pr_str,strrpos($pr_str, ":")+1);

}

//unsigned shift right

function zeroFill($a, $b){

$z = hexdec('8'.implode('',array_fill(0,PHP_INT_SIZE*2-1,'0')));

if ($z & $a){

$a = ($a>>1);

$a &= (~$z);

$a |= hexdec('4'.implode('',array_fill(0,PHP_INT_SIZE*2-1,'0')));

$a = ($a>>($b-1));

}

else{

$a = ($a>>$b);

}

return $a;

}

// discard bits beyonds 32 bit.

function trunkbitForce32bit($n){

if(PHP_INT_SIZE

settype($n,'float');

if ( $n

return $n;

}

else{

$clearbit = '';

for($i=0;$i

$clearbit .= '00';

}

for($i=0;$i

$clearbit .= 'ff';

}

return ($n & hexdec($clearbit));

}

}

function bigxor($m,$n){

//if(function_exists('gmp_init')){

// return floatval(gmp_strval(gmp_xor($m,$n)));

//}

//else{

return $m ^ $n;

//}

}

function mix($a,$b,$c){

$a = trunkbitForce32bit($a);

$b = trunkbitForce32bit($b);

$c = trunkbitForce32bit($c);

$a -= $b; $a = trunkbitForce32bit($a);

$a -= $c; $a = trunkbitForce32bit($a);

$a = bigxor($a,(zeroFill($c,13))); $a = trunkbitForce32bit($a);

$b -= $c; $b = trunkbitForce32bit($b);

$b -= $a; $b = trunkbitForce32bit($b);

$b = bigxor($b,trunkbitForce32bit($a

$c -= $a; $c = trunkbitForce32bit($c);

$c -= $b; $c = trunkbitForce32bit($c);

$c = bigxor($c,(zeroFill($b,13))); $c = trunkbitForce32bit($c);

$a -= $b;$a = trunkbitForce32bit($a);

$a -= $c;$a = trunkbitForce32bit($a);

$a = bigxor($a,(zeroFill($c,12)));$a = trunkbitForce32bit($a);

$b -= $c;$b = trunkbitForce32bit($b);

$b -= $a;$b = trunkbitForce32bit($b);

$b = bigxor($b,trunkbitForce32bit($a

$c -= $a; $c = trunkbitForce32bit($c);

$c -= $b; $c = trunkbitForce32bit($c);

$c = bigxor($c,(zeroFill($b,5))); $c = trunkbitForce32bit($c);

$a -= $b;$a = trunkbitForce32bit($a);

$a -= $c;$a = trunkbitForce32bit($a);

$a = bigxor($a,(zeroFill($c,3)));$a = trunkbitForce32bit($a);

$b -= $c;$b = trunkbitForce32bit($b);

$b -= $a;$b = trunkbitForce32bit($b);

$b = bigxor($b,trunkbitForce32bit($a

$c -= $a; $c = trunkbitForce32bit($c);

$c -= $b; $c = trunkbitForce32bit($c);

$c = bigxor($c,(zeroFill($b,15))); $c = trunkbitForce32bit($c);

return array($a,$b,$c);

}

function NewGCH($ch){

$ch = ( trunkbitForce32bit( ( $ch / 7 )

( ( myfmod( $ch,13 ) ) & 7 ) );

$prbuf = array();

$prbuf[0] = $ch;

for( $i = 1; $i

{

$prbuf[$i] = $prbuf[$i-1] - 9;

}

$ch = GCH( c32to8bit( $prbuf ) );

return $ch;

}

function myfmod($x,$y){

$i = floor( $x / $y );

return ( $x - $i * $y );

}

function c32to8bit($arr32){

$arr8 = array();

for( $i = 0; $i

for( $bitOrder = $i * 4;

$bitOrder

$arr8[$bitOrder] = $arr32[$i] & 255;

$arr32[$i] = zeroFill( $arr32[$i], 8 );

}

}

return $arr8;

}

function GCH($url, $length=null){

if(is_null($length)) {

$length = sizeof($url);

}

$init = 0xE6359A60;

$a = 0x9E3779B9;

$b = 0x9E3779B9;

$c = 0xE6359A60;

$k = 0;

$len = $length;

$mixo = array();

while( $len >= 12 ){

$a += ($url[$k+0] +trunkbitForce32bit($url[$k+1]

+trunkbitForce32bit($url[$k+2]

+trunkbitForce32bit($url[$k+3]

$b += ($url[$k+4] +trunkbitForce32bit($url[$k+5]

+trunkbitForce32bit($url[$k+6]

+trunkbitForce32bit($url[$k+7]

$c += ($url[$k+8] +trunkbitForce32bit($url[$k+9]

+trunkbitForce32bit($url[$k+10]

+trunkbitForce32bit($url[$k+11]

$mixo = mix($a,$b,$c);

$a = $mixo[0]; $b = $mixo[1]; $c = $mixo[2];

$k += 12;

$len -= 12;

}

$c += $length;

switch( $len ) {

case 11:

$c += trunkbitForce32bit($url[$k+10]

case 10:

$c+=trunkbitForce32bit($url[$k+9]

case 9 :

$c+=trunkbitForce32bit($url[$k+8]

case 8 :

$b+=trunkbitForce32bit($url[$k+7]

case 7 :

$b+=trunkbitForce32bit($url[$k+6]

case 6 :

$b+=trunkbitForce32bit($url[$k+5]

case 5 :

$b+=trunkbitForce32bit($url[$k+4]);

case 4 :

$a+=trunkbitForce32bit($url[$k+3]

case 3 :

$a+=trunkbitForce32bit($url[$k+2]

case 2 :

$a+=trunkbitForce32bit($url[$k+1]

case 1 :

$a+=trunkbitForce32bit($url[$k+0]);

}

$mixo = mix( $a, $b, $c );

$mixo[2] = trunkbitForce32bit($mixo[2]);

if( $mixo[2]

return (

hexdec('1'.

implode('',

array_fill(0,PHP_INT_SIZE*2,'0')))

+ $mixo[2] );

}

else{

return $mixo[2];

}

}

// converts a string into an array of integers

// containing the numeric value of the char

function strord($string){

for($i=0;$i

$result[$i] = ord($string{$i});

}

return $result;

}

// return url page content or false if failed.

function retrieveURLContent($url,$gettype){

switch($gettype){

case G_PR_GET_TYPE_FILE:

return retrieveURLContentByFile($url);

break;

default:

return retrieveURLContentBySocket($url);

break;

}

}

function retrieveURLContentByFile($url){

$fd = @fopen($url,"r");

if(!$fd){

return false;

} www.2cto.com

$result = "";

while($buffer = fgets($fd, 4096)) {

$result .= $buffer;

}

fclose($fd);

return $result;

}

function retrieveURLContentBySocket($url,

$host="",

$port=80,

$timeout=30){

if($host == ""){

if(!($pos = strpos($url,'://'))){

return false;

}

$host = substr( $url,

$pos+3,

strpos($url,'/',$pos+3) - $pos - 3);

$uri = substr($url,strpos($url,'/',$pos+3));

}

else{

$uri = $url;

}

$request = "GET ".$uri." HTTP/1.0\r\n"

."Host: ".$host."\r\n"

."Accept: */*\r\n"

."User-Agent: ZealGet\r\n"

."\r\n";

$sHnd = @fsockopen ($host, $port, $errno, $errstr, $timeout);

if(!$sHnd){

return false;

}

@fputs ($sHnd, $request);

// Get source

$result = "";

while (!feof($sHnd)){

$result .= fgets($sHnd,4096);

}

fclose($sHnd);

$headerend = strpos($result,"\r\n\r\n");

if (is_bool($headerend))

{

return $result;

}

else{

return substr($result,$headerend+4);

}

}

 

echo getPR($url);

?>

 

 

摘自Shine的圣天堂-〃敏〃

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/478515.htmlTechArticle用C#写个软件,不知道谷歌的接口用C#写感觉太麻烦了 于是在csdn下载了一份代码,改成用软件查询的接口。 http://www.xssxss.com/pr.php?url=www.g...

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

DeepSeek에 의견을 말하는 방법 DeepSeek에 의견을 말하는 방법 Feb 19, 2025 pm 05:42 PM

DeepSeek은 강력한 정보 검색 도구입니다.이 장점은 정보가 느리고 결과 프레젠테이션 방법이 간단하며 데이터베이스 적용 범위는 제한되어 있다는 것입니다 .

DeepSeek을 검색하는 방법 DeepSeek을 검색하는 방법 Feb 19, 2025 pm 05:39 PM

DeepSeek은 특정 데이터베이스 나 시스템에서만 더 빠르고 정확한 독점 검색 엔진입니다. 이를 사용할 때 사용자는 문서를 읽고, 다양한 검색 전략을 시도하고, 사용자 경험에 대한 도움을 요청하고 사용자 경험에 대한 피드백을 최대한 활용하는 것이 좋습니다.

참깨 오픈 도어 교환 웹 페이지 등록 링크 게이트 트레이딩 앱 등록 웹 사이트 최신 참깨 오픈 도어 교환 웹 페이지 등록 링크 게이트 트레이딩 앱 등록 웹 사이트 최신 Feb 28, 2025 am 11:06 AM

이 기사에서는 GATE.IO (GATE.IO) 웹 버전의 등록 프로세스와 GATE 트레이딩 앱의 등록 프로세스를 소개합니다. 웹 등록 또는 앱 등록이든, 공식 웹 사이트 또는 App Store를 방문하여 Genuine 앱을 다운로드 한 다음 사용자 이름, 암호, 이메일, 휴대 전화 번호 및 기타 정보, 완전한 이메일 또는 휴대 전화 확인을 작성해야합니다.

PHP에서 HTML/XML을 어떻게 구문 분석하고 처리합니까? PHP에서 HTML/XML을 어떻게 구문 분석하고 처리합니까? Feb 07, 2025 am 11:57 AM

이 튜토리얼은 PHP를 사용하여 XML 문서를 효율적으로 처리하는 방법을 보여줍니다. XML (Extensible Markup Language)은 인간의 가독성과 기계 구문 분석을 위해 설계된 다목적 텍스트 기반 마크 업 언어입니다. 일반적으로 데이터 저장 AN에 사용됩니다

Bybit Exchange 링크를 직접 다운로드하고 설치할 수없는 이유는 무엇입니까? Bybit Exchange 링크를 직접 다운로드하고 설치할 수없는 이유는 무엇입니까? Feb 21, 2025 pm 10:57 PM

Bybit Exchange 링크를 직접 다운로드하고 설치할 수없는 이유는 무엇입니까? Bybit은 사용자에게 거래 서비스를 제공하는 암호 화폐 거래소입니다. Exchange의 모바일 앱은 다음과 같은 이유로 AppStore 또는 GooglePlay를 통해 직접 다운로드 할 수 없습니다. 1. App Store Policy는 Apple과 Google이 App Store에서 허용되는 응용 프로그램 유형에 대한 엄격한 요구 사항을 갖지 않도록 제한합니다. Cryptocurrency Exchange 응용 프로그램은 금융 서비스가 포함되며 특정 규정 및 보안 표준이 필요하기 때문에 이러한 요구 사항을 충족하지 않습니다. 2. 법률 및 규정 준수 준수 많은 국가에서 암호 화폐 거래와 관련된 활동이 규제되거나 제한됩니다. 이러한 규정을 준수하기 위해 BYBIT 응용 프로그램은 공식 웹 사이트 또는 기타 공인 채널을 통해서만 사용할 수 있습니다.

참깨 오픈 도어 트레이딩 플랫폼 다운로드 모바일 버전 게이트 오리오 트레이딩 플랫폼 다운로드 주소 참깨 오픈 도어 트레이딩 플랫폼 다운로드 모바일 버전 게이트 오리오 트레이딩 플랫폼 다운로드 주소 Feb 28, 2025 am 10:51 AM

앱을 다운로드하고 계정의 안전을 보장하기 위해 공식 채널을 선택하는 것이 중요합니다.

Gate.io Exchange 공식 등록 포털 Gate.io Exchange 공식 등록 포털 Feb 20, 2025 pm 04:27 PM

Gate.io는 광범위한 암호화 자산 및 거래 쌍을 제공하는 주요 암호 화폐 거래소입니다. Gate.io 등록은 공식 웹 사이트를 방문하거나 앱을 다운로드하면 "등록"을 클릭하고 등록 양식을 작성하고 2FA (Factor Verification)를 설정하면 가능합니다. 등록을 완료하십시오. Gate.io를 사용하면 사용자는 안전하고 편리한 암호 화폐 거래 경험을 즐길 수 있습니다.

2025 년 Bitget의 최신 다운로드 주소 : 공식 앱을 얻는 단계 2025 년 Bitget의 최신 다운로드 주소 : 공식 앱을 얻는 단계 Feb 25, 2025 pm 02:54 PM

이 안내서는 Android 및 iOS 시스템에 적합한 공식 Bitget Exchange 앱에 대한 자세한 다운로드 및 설치 단계를 제공합니다. 이 안내서는 공식 웹 사이트, App Store 및 Google Play를 포함한 여러 권위있는 소스의 정보를 통합하고 다운로드 및 계정 관리 중 고려 사항을 강조합니다. 사용자는 App Store, 공식 웹 사이트 APK 다운로드 및 공식 웹 사이트 Jump, 완전한 등록, 신원 확인 및 보안 설정을 포함한 공식 채널에서 앱을 다운로드 할 수 있습니다. 또한 가이드는 자주 묻는 질문과 다음과 같은 고려 사항을 다룹니다.

See all articles