検索
ホームページバックエンド開発PHPチュートリアルPHP は GMAIL、HOTMAIL (MSN)、YAHOO、163、126 メールボックス ログインの詳細をシミュレートします_PHP チュートリアル

最近忙しいので、これらのソース コードをオープンソースにするために、この記事を公開する予定です。現在の UCHOME port 台湾のウェブサイト
プランナーさんから友達招待の表示方法を変えたいと言われたので、最初は気にしていませんでした。
これに取り組んでいたときに、UCH のこの場所がローミング モードを使用して作成されていることがわかりました。これは非常に混乱しており、何も変更できませんでした。
ああ、私は同意して大丈夫だと言いましたが、実際の状況ではもう不可能なので、この問題をすぐに解決するためにGOOGLEと
Baiduで検索したところ、再び予想外の結果になりました。たとえば、126 個のメールボックスのオープン ソースは他にありません。ある兄弟は QQ を保持していて、他のソース コードが欲しいと言いました。
QQ を追加して購入できます。この人にはもうコメント不要です!時間をかけて整理したところ、幸運にもいくつか入手できました。時間は限られているので、他のプロジェクトには関心がありませんでした。
今は GMAIL と HOTMAIL ( MSN)、YAHOOのメール連絡先のPHPソースコード:

1.GMAIL

コードをコピー コードは次のとおりです:

define( "COOKIEJAR", tempnam( ini_get( "upload_tmp_dir" ), "cookie" ) ); // COOKIES を保存するパスを定義します。
define( "TIMEOUT" を操作する権限が必要です) "、1000); //タイムアウト設定
Classgmail
{
プライベート関数ログイン($ username、$ password)
cookies = array(); $ matches = array(); $ch . $contents =curl_exec($ch);
$contents
$name = array('dsh','timeSt mp','secTok'); "'.$v.'"/s*id="'。 $ v。 '"/s*value ="(。*?) "/s*//>/i'、$ contents、$ matches); ="hidden"/s*name="GALX"/s*value="(.*?)"/s*//>/i', $contents, $matches);
if( !empty($matches) )) {

$timeStmp = time();

//第二步: 开始登录
$ch =curl_init();
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_URL, "https:// www.google.com/accounts/ServiceLoginAuth");
curl_setopt($ch, CURLOPT_COOKIEFILE, COOKIEJAR);
curl_setopt($ch, CURLOPT_POST, 1);
$fileds = "dsh=$dsh&Email=".$username."&Passwd={$password}&GALX=$GALX&timeStmp=$timeStmp&secTok=$secTok&signIn=Sign in&rmShown=1&asts=&PersistentCookie =はい";
curl_setopt($ch, CURLOPT_POSTFIELDS, $fileds);
curl_setopt($ch, CURLOPT_COOKIEJAR, COOKIEJAR);             
curl_setopt($ch, CURLOPT_TIMEOUT, TIMEOUT);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$str =curl_exec($ch);              
curl_close($ch);

//第三步:Cookie即也是算个引导页面
$ch =curl_init("https://www.google.com/accounts/CheckCookie?chtml= LoginDoneHTML");

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch,CURL) OPT_COOKIEFILE,COOKIEJAR);
curl_setopt($ch, CURLOPT_COOKIEJAR, COOKIEJAR);                
curl_setopt($ch, CURLOPT_TIMEOUT, TIMEOUT);    
$ str2 = curl_exec($ ch);

curl_close($ ch); }🎚️ true&show=ALL&enums =true&psort=Name&max=300&out=js&rf=&jsx=true"); //out=js は json データを返します。 XML データへの戻りを設定しません
ml データが必要です この設定
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/xml")); name=/"items/">pab:searchContactsgt;>FNtrueuser:getSignaturespab:getAllGroups"; */
curl_setopt ($ch, CURLOPT_POST, 1); $contents =curl_exec($ch);
//die($contents);(.*)/string>/Umsi",$contents,$mails) ;
preg_match_all("/(.*)/ string>/Umsi",$contents,$names); //$user = iconv($user ,'utf-8','gb2312');連絡先担当者';

*/
$contents = substr($contents, strlen('while (true); &&&START&&&'), -strlen('&&&END&&& '));
return $contents;
}
}
$gamil = 新しい GMAIL;
$res = $gamil->getAddressList('username@163.com','123456');
echo $res;
?>


2.HOTMAIL(MSN)
复制代码代码如下:

define( "COOKIEJAR", tempnam( ini_get( "upload_tmp_dir" ), "cookie" ) );   //定义COOKIES存放的路径,要有操作的权限
define( "TIMEOUT", 1000 ); //超时设定
class MSN
{
        function getAddressList($username, $password)
        {              
                //第一步:模拟抓取登录页面的数据,并记下cookies
                $cookies = array();
                $ch = curl_init();
                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
                curl_setopt($ch, CURLOPT_URL, "http://login.live.com/login.srf?wa=wsignin1.0&rpsnv=11&ct=".time()."&rver=6.0.5285.0&wp=MBI&wreply=http:%2F%2Fmail.live.com%2Fdefault.aspx&lc=2052&id=64855&mkt=en");
                curl_setopt($ch, CURLOPT_COOKIEJAR, COOKIEJAR);
                curl_setopt($ch, CURLOPT_TIMEOUT, TIMEOUT);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                $str = curl_exec($ch);             
                curl_close($ch);
                //参数的分析
                $matches = array();      
                preg_match('//i', $str, $matches);
                $PPFT = $matches[2];

                preg_match('/srf_sRBlob=/'(.*?)/';/i', $str, $matches);
                $PPSX = $matches[1];

                $type = 11;

                $LoginOptions = 3;

                $Newuser = 1;

                $idsbho = 1;

                $i2 = 1;

                $i12 = 1;

                $i3 = '562390';

                $PPSX = 'Pa';
                //合并参数
                $postfiles = "login=".$username."&passwd=".$password."&type=".$type."&LoginOptions=".$LoginOptions."&Newuser=".$Newuser."&idsbho=".$idsbho."&i2=".$i2."&i3=".$i3."&PPFT=".$PPFT."&PPSX=".$PPSX."&i12=1";

                //第二步:开始登录
                $ch = curl_init();
                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
                curl_setopt($ch, CURLOPT_COOKIEFILE, COOKIEJAR);
                curl_setopt($ch, CURLOPT_URL, 'https://login.live.com/ppsecure/post.srf?wa=wsignin1.0&rpsnv=11&ct='.(time()+5).'&rver=6.0.5285.0&wp= MBI&wreply=http:%2F%2Fmail.live.com%2Fdefault.aspx&lc=2052&id=64855&mkt=ja&bk='.(time()+715)); //この二つの time() は模倣随机の時間です
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,ファイル);
curl_setopt($ch, CURLOPT_COOKIEJAR, COOKIEJAR);
//curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, TIMEOUT);
curl_setopt($ch, CURLOPT_RETURNTR ANSFER、true);

$content =curl_exec($ch);
curl_close($ ch);

if(tripos($content,'WLWorkflow') !== FALSE ) { //WLWorkflow登录页面JS
return false;      //登录失败
}
//获取場所链接
$matches = array();      
preg_match('/window.location.replace/(/"(.*?)/"/)/i', $content, $matches);
$url_contiune_1 = $matches[1]; //次来的链接
if(!$url_contiune_1) {
return false;
}
//第三步: 入引导页面

$ch =curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_COOKIEFILE, COOKIEJAR);
curl_setopt($ch, CURLOPT_URL, $ url_contiune_1);
curl_setopt($ch, CURLOPT_COOKIEJAR, COOKIEJAR);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, TIMEOUT);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$content_2 =curl_exec($ch);

// $postfiles をエコーし​​ます。 
curl_close($ch);

//获取redicturl链接
$matches = array();      
preg_match('//i', $content_2, $matches);
$url_contiune_2 = $matches[1]; //次来的链接
if(!$url_contiune_2) {
return false;
}

//跳过进入首页
/*
$ch =curl_init();
curl_setopt($ch, CURLOPT_SSL_ VERIFYPEER、false);
curl_setopt($ch, CURLOPT_COOKIEFILE, COOKIEJAR);
curl_setopt($ch, CURLOPT_URL, $ url_contiune_2);
curl_setopt($ch, CURLOPT_COOKIEJAR, COOKIEJAR);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 1000);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$content_3 =curl_exec($ch);

curl_close($ch);
*/
//获取邮箱请求基址读取host
$matches = array();      
preg_match('/(.*?)////(.*?)//(.*?)/i', $url_contiune_2, $matches);
$url_contiune_3 = トリム($matches[1]).'//'.trim($matches[2]); //首页定义的站点基址
$url_4 = $url_contiune_3.'/mail/ContactMainLight.aspx?n=435707983'; //n次の数字は随机数
if(!$url_contiune_3) {
return false;
}

//第四步:开始获取邮箱联系人
//base $url_4
$ch =curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_COOKIEFILE, COOKIEJAR);
curl_setopt($ch, _URL, $url_4);
curl_setopt($ch, CURLOPT_TIMEOUT, TIMEOUT);
curl_setopt($ch , CURLOPT_RETURTRANSFER, true);
$str =curl_exec($ch);
// 分析データ (hotmail の JS 処理機構のため、表面上ではデータが閲覧できません)
戻る$this->hanlde_date($str);

}
function hanlde_date($data) {
$new_str = array();
if(!empty($data)) {
$ops_start =tripos($data,'ic) _control_data');
$ops_end =tripos($data, ';',$ops_start);
$new_str = substr($data, $ops_start + strlen('ic_control_data = '), $ops_end - $ops_start - strlen('ic_control_data = ');
$new_str を返します。 // 戻りJSON对象
} else {
return array();
}


}
}
$msn = 新しい MSN;
$res = $msn->getAddressList('username@111.com',' 123456');
echo $res;
?>


3 .YAHOO
复制代価代価如下:

define( "COOKIEJAR", tempnam( ini_get( "upload_tmp_dir" ), "cookie" ) ); // COOKIES を保存するパスを定義します。
define( "TIMEOUT" を操作する権限が必要です) ", 1000 ) ; //タイムアウト設定
class YAHOO
{
プライベート関数login($username, $password)
cookies = array() ;
$matches = array();
C URLOPT_COOKIEJAR, COOKIEJAR);
curl_setopt($ch, CURLOPT_RETURNTRANSFER " ,'md5','hash',' js','last','promo','intl','bypass','partner', 'u','v','challenge','yplus','emailCode','pkg','stepid' ,'ev','hasMsgr','chkP','done','pd','pad ','aad');
$postfiles = array(); name as $v) {
preg_match('/ $postfiles['pad'] = 5;
$postfiles['aad'] = 6;
$postfiles['login'] = urlencode($username);
$postfiles['passwd'] = $password;
$postfiles['.persistent'] = 'y ';
$postfiles['save'] = '';
$postfiles['.done'] = urlencode($postfiles['.done']);
//$postfiles['.pd'] = urlencode($postfiles['.pd']);
$postargs = '';

foreach($postfiles as $k => $v){
$postargs .= $k.'='.$v.'&';       
}
$postargs = substr($postargs,0,-1);
$request = "https://login.yahoo.com/config/login?";

/ /开始登录
$ch =curl_init( );
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_URL, $request);

curl_setopt($ch, POST、1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postargs);
curl_setopt($ch, CURLOPT_COOKIEJAR, COOKIEJAR);
curl_setopt($ch, CURLOPT_TIMEOUT, TIMEOUT);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$contents =curl_exec($ch);
curl_close($ch);
if (stripos($contents,'submit') != FALSE)
{
return 0;
}
return 1;
}

//获取邮箱通讯录-地址
public function getAddressList($username, $password )
{
if (!$this->login($username, $password))
{
return 0;
}

//开始入模拟抓取
// ページ情報ユーザー名 && メールアドレスからメールリストを取得
$url = "http://address.mail.yahoo.com/";
$data = array( ) ;
if ( !$data = $this->hanlde_date( $url, $names, $emails) )
{
return FALSE;
}
echo '
';<br> print_r($data);<br> return $ data;<br> }<br> function hanlde_date( $url, &$names, &$emails)<br> {<br> $ch =curl_init( );<br> curl_setopt( $ch, CURLOPT_COOKIEFILE, IEJAR );<br> curl_setopt( $ch, CURLOPT_URL, $url );<br> curl_setopt( $ch, CURLOPT_TIMEOUT, TIMEOUT );<br> curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);<br> $contents =curl_exec($ch);<br> curl_close($ch); <br> $temparr = array();<br> preg_match_all('/InitialContacts/s*=/s*(.*?);/i',$contents,$temparr);<br> $temparr[1][0] を返します。 ;';       //適合出JSON对象数组<br> }<br>}<br>$yahoo = new YAHOO;<br>$res = $yahoo->getAddressList('username@yahoo.com.cn','123456');<br>?><br>&lt ;mce:script type="text/javascript"><!--<BR>var data = <?php echo $res; ?><BR>var obj1 = data[0];<BR>alert(data[0]['contactName']);<BR>// --><br>

注:
163 ,126 在网上的资源网有,在这是不一的列出来哦
此代网是自己的愚作,只是為為此大家此类问做一指引

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/327649.html技術記事ずっと忙しい中、この期間が終了したときに、これらのソースコードが最近完成したことを目的として、次の文を公開しました もちろん、これらの方法は不可能である可能性がありますが、大まかにこの方向は完了しています...
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
unset()とsession_destroy()の違いは何ですか?unset()とsession_destroy()の違いは何ですか?May 04, 2025 am 12:19 AM

thedifferencebetferencefued fieneunset()andsession_destroy()isthatunset()clearsspecificsessionvariablesはsessionactiveであり、ssession_destroy()ターミナテンテンセッション

負荷分散のコンテキストでの粘着性セッション(セッションアフィニティ)とは何ですか?負荷分散のコンテキストでの粘着性セッション(セッションアフィニティ)とは何ですか?May 04, 2025 am 12:16 AM

StickysionsionsureuserRequestsoredtotheSameserverforsessiondataconsistency.1)Sessionidedificationisionidificationsisignivisionsignsignsuserstoserversusing okiesorurlmodifications.2)CondingRoutingDirectSSubSubSubsEntRequestStotheSameserver.3)LoadBalancingDistributeNewuser

PHPで利用可能なさまざまなセッション保存ハンドラーは何ですか?PHPで利用可能なさまざまなセッション保存ハンドラーは何ですか?May 04, 2025 am 12:14 AM

phpoffersvarioussionsionsavehandlers:1)ファイル:デフォルト、simplebutmaybottleneckonhigh-trafficsites.2)memcached:high-performance、yealforspeed-criticalapplications.3)redis:similartomcached、witordededpersistence.4)データベースの提供

PHPでのセッションとは何ですか?なぜそれらが使用されているのですか?PHPでのセッションとは何ですか?なぜそれらが使用されているのですか?May 04, 2025 am 12:12 AM

PHPでのセッションは、サーバー側のユーザーデータを保存して、複数のリクエスト間で状態を維持するメカニズムです。具体的には、1)セッションはsession_start()関数によって開始され、データは保存され、$ _Sessionスーパーグローバルアレイを読みます。 2)セッションデータはデフォルトでサーバーの一時ファイルに保存されますが、データベースまたはメモリストレージを介して最適化できます。 3)セッションを使用して、ユーザーのログインステータス追跡とショッピングカート管理機能を実現できます。 4)セッションの安全な送信とパフォーマンスの最適化に注意を払い、アプリケーションのセキュリティと効率を確保します。

PHPセッションのライフサイクルを説明してください。PHPセッションのライフサイクルを説明してください。May 04, 2025 am 12:04 AM

phpssionsStartWithsession_start()、figenateAuniqueidandcreateSaServerfile; theySistacrossRequestsandcanbemanbemanBeithsession_destroy()

絶対的なセッションタイムアウトとアイドルセッションのタイムアウトの違いは何ですか?絶対的なセッションタイムアウトとアイドルセッションのタイムアウトの違いは何ですか?May 03, 2025 am 12:21 AM

絶対セッションのタイムアウトはセッションの作成時に開始され、アイドルセッションタイムアウトはユーザーの操作なしに開始されます。絶対セッションタイムアウトは、金融アプリケーションなど、セッションライフサイクルの厳格な制御が必要なシナリオに適しています。アイドルセッションタイムアウトは、ソーシャルメディアなど、ユーザーが長い間セッションをアクティブに保つことを望んでいるアプリケーションに適しています。

セッションがサーバーで機能していない場合、どのような措置を講じますか?セッションがサーバーで機能していない場合、どのような措置を講じますか?May 03, 2025 am 12:19 AM

サーバーセッションの障害は、手順に従って解決できます。1。セッションが正しく設定されていることを確認するために、サーバーの構成を確認します。 2.クライアントCookieを確認し、ブラウザがそれをサポートしていることを確認し、正しく送信します。 3. Redisなどのセッションストレージサービスを確認して、それらが正常に動作していることを確認します。 4.アプリケーションコードを確認して、正しいセッションロジックを確認します。これらの手順を通じて、会話の問題を効果的に診断および修復し、ユーザーエクスペリエンスを改善することができます。

session_start()関数の重要性は何ですか?session_start()関数の重要性は何ですか?May 03, 2025 am 12:18 AM

session_start()iscrucialinphpformangingusersions.1)itInitiateSanewsessionifnoneExists、2)resumesanexistingsession、および3)SetSessionCookieforcontinuityAcrossRequests、ApplicationslicationSliviseSlikeUserauthicationAnticatent。

See all articles

ホット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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 Mac版

SublimeText3 Mac版

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

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。