ホームページ php教程 php手册 PHP获取PR值的代码

PHP获取PR值的代码

Jun 13, 2016 am 10:46 AM
php コード 価値 書く インターフェース 使用 得る グーグル ソフトウェア

 

用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的圣天堂-〃敏〃

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

PHPでの後期静的結合を説明します(静的::)。 PHPでの後期静的結合を説明します(静的::)。 Apr 03, 2025 am 12:04 AM

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

Crypto Digital Asset Trading App(2025グローバルランキング)に推奨されるトップ10 Crypto Digital Asset Trading App(2025グローバルランキング)に推奨されるトップ10 Mar 18, 2025 pm 12:15 PM

この記事では、Binance、Okx、Gate.io、Bitflyer、Kucoin、Bybit、Coinbase Pro、Kraken、Bydfi、Xbit分散化された交換など、注意を払う価値のある上位10の暗号通貨取引プラットフォームを推奨しています。これらのプラットフォームには、トランザクションの数量、トランザクションの種類、セキュリティ、コンプライアンス、特別な機能の点で独自の利点があります。適切なプラットフォームを選択するには、あなた自身の取引体験、リスク許容度、投資の好みに基づいて包括的な検討が必要です。 この記事があなたがあなた自身に最適なスーツを見つけるのに役立つことを願っています

PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? Apr 03, 2025 am 12:03 AM

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。

セサミオープンドアエクスチェンジウェブページログイン最新バージョンgateio公式ウェブサイトの入り口 セサミオープンドアエクスチェンジウェブページログイン最新バージョンgateio公式ウェブサイトの入り口 Mar 04, 2025 pm 11:48 PM

ログインステップやパスワード回復プロセスなど、セサミオープンエクスチェンジWebバージョンのログイン操作の詳細な紹介も、ログイン障害、ページを開くことができず、プラットフォームにスムーズにログインするのに役立つ検証コードを受信できません。

なぜビテンサーはAIトラックの「ビットコイン」と言われているのですか? なぜビテンサーはAIトラックの「ビットコイン」と言われているのですか? Mar 04, 2025 pm 04:06 PM

元のタイトル:Bittensor = Aibitcoin:S4MMYETH、分散型AI研究元の翻訳:Zhouzhou、BlockBeats編集者注:この記事では、Bockchain Technologyを通じて中央集権的なAI企業の独占を破り、オープンおよび共同AI Ecosemsytemを促進することを望んでいます。 Bittensorは、さまざまなAIソリューションの出現を可能にし、Tao Tokensを通じてイノベーションを刺激するサブネットモデルを採用しています。 AI市場は成熟していますが、両節は競争リスクに直面し、他のオープンソースの対象となる場合があります

Bitget公式Webサイトで最新のアプリを登録およびダウンロードする方法 Bitget公式Webサイトで最新のアプリを登録およびダウンロードする方法 Mar 05, 2025 am 07:54 AM

このガイドは、AndroidおよびiOSシステムに適した公式Bitget Exchangeアプリの詳細なダウンロードとインストール手順を提供します。このガイドは、公式ウェブサイト、App Store、Google Playなど、複数の権威ある情報源からの情報を統合し、ダウンロードおよびアカウント管理中の考慮事項を強調しています。ユーザーは、App Store、公式WebサイトAPKダウンロード、公式Webサイトジャンプ、完全な登録、ID検証、セキュリティ設定など、公式チャネルからアプリをダウンロードできます。さらに、ガイドはよくある質問や考慮事項をカバーします。

一致式(PHP 8)とそれがスイッチとどのように異なるかを説明します。 一致式(PHP 8)とそれがスイッチとどのように異なるかを説明します。 Apr 06, 2025 am 12:03 AM

PHP8では、一致式は、式の値に基づいて異なる結果を返す新しい制御構造です。 1)Switchステートメントに似ていますが、実行ステートメントブロックの代わりに値を返します。 2)一致式の式は厳密に比較され、セキュリティが向上します。 3)スイッチステートメントの脱落の可能性を回避し、コードのシンプルさと読みやすさを向上させます。

See all articles