ホームページ バックエンド開発 PHPチュートリアル phpでGMAIL、HOTMAIL(MSN)、YAHOO、163、126メールログインをシミュレート(オリジナル)、対処方法

phpでGMAIL、HOTMAIL(MSN)、YAHOO、163、126メールログインをシミュレート(オリジナル)、対処方法

Jun 13, 2016 pm 01:49 PM
amp curl quot

php は、GMAIL、HOTMAIL (MSN)、YAHOO、163、126 の電子メール ログインをシミュレートします (オリジナル)
最近忙しいので、これらのソース コードを公開するために、この記事を国慶節の休暇の終わりに公開します。 source

もちろんこれらの方法は推奨されないかもしれませんが、現在 UCHOME 香港と台湾のサイトを構築中なので、おおよそこの方向になるはずです

表示方法を変更する予定です友達の招待状に、最初は気にしなかったので、「はい!」と言いました。

これを行っているときに、UCH のこの場所がローミング モードを使用して作成されていることがわかりました。これは非常に混乱しており、何も変更できませんでした。

まあ、私は同意して大丈夫と言ったのに、現状ではうまくいかないので、恥ずかしいので、この問題を早く解決するために、GOOGLEで検索してみました、

。 Baidu の結果はまたもや、オープン ソースの例は 126 メールボックスのみで、他にはありません。ある人は QQ を保持しており、他のソース コードが必要だと言いました。

に QQ を追加できます。買ってください!この人にはもうコメント不要です!時間をかけて整理したところ、幸運にもいくつか入手できました。時間は限られているので、他のものは気にしませんでした。GMAIL、HOTMAIL (MSN) を使用しました。 , YAHOOのメール連絡先のPHPソースコード:



1.GMAIL

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
 <?php
define( "COOKIEJAR", tempnam( ini_get( "upload_tmp_dir" ), "cookie" ) ); // COOKIES を保存するパスを定義します。操作権限が必要です。
define( "TIMEOUT", 1000 ); //タイムアウト設定
クラス GMAIL
{

        プライベート関数ログイン($username, $password)
        {
                //ステップ 1: ログイン ページのデータの取得をシミュレートし、Cookie を書き留めます
                $cookies = 配列();
                $matches = 配列();
                //フォームを取得する
                $login_url = "https://www.google.com/accounts/ServiceLoginAuth";
                $ch =curl_init($login_url);
                
                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
                curl_setopt($ch, CURLOPT_COOKIEJAR, COOKIEJAR);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                $contents =curl_exec($ch);
                カール_クローズ($ch);

                //シミュレーションパラメータ
                $name = array('dsh','timeStmp','secTok');
                foreach($name as $v) {
                     preg_match('/<inputs*type="hidden"s*name="'.$v.'"s*id="'.$v.'"s*value="(.*?)"s* />/i', $contents, $matches);
                    if(!empty($matches)) {
                        $$v = $matches[1];
                        $matches = 配列();
                    }
                }
                $server = 'メール';
                preg_match('/<inputs*type="hidden"s*name="GALX"s*value="(.*?)"s*/>/i', $contents, $matches);
                if(!empty($matches)) {
                    $GALX = $matches[1];
                    $matches = 配列();
                }
                $timeStmp = 時間();
                
                //ステップ 2: ログインを開始する
                $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);
                $filds = "dsh=$dsh&Email=".$username."&Passwd={$password}&GALX=$GALX&timeStmp=$timeStmp&secTok=$secTok&signIn=サインイン&rmShown=1&asts=&PersistentCookie=yes";
                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);
                カール_クローズ($ch);
     
                //ステップ 3: 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,CURLOPT_COOKIEFILE,COOKIEJAR);
                curl_setopt($ch, CURLOPT_COOKIEJAR, COOKIEJAR);
                curl_setopt($ch, CURLOPT_TIMEOUT, TIMEOUT);
                $str2 =curl_exec($ch);
                 
                カール_クローズ($ch);
                                                
                if (strpos($contents, "安全な終了") !== false)
                {
                        FALSEを返します。
                }
                TURE を返します。
        }
        
        //メールアドレス帳のアドレスを取得
        パブリック関数 getAddressList($username, $password)
        {
                if (!$this->login($username, $password))
                {
                        FALSEを返します。
                }//シミュレーションキャプチャの入力を開始します
                $ch =curl_init();
                curl_setopt($ch, CURLOPT_URL, "http://mail.google.com/mail/contacts/data/contacts?thumb=true&groups=true&show=ALL&enums=true&psort=Name&max=300&out=js&rf=&jsx=true"); // out=js は json データを返します。設定されていない場合は XML データを返します
                curl_setopt($ch, CURLOPT_COOKIEFILE, COOKIEJAR);
                /* この設定は XML データを返すときに必要です
                curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/xml"));
                $str = "<?xml version="1.0"?><object><array name="items"><object><string name="func">pab:searchContacts</string&gt ;<object name="var"><array name="order"><object><string name="field">FN</string><boolean name="ignoreCase"> true</boolean></object></array></object></object><object><string name="func">user:getSignatures</string></object&gt ;<object><string name="func">pab:getAllGroups</string></object></array></object>";
                curl_setopt($ch, CURLOPT_POSTFIELDS, $str);
                
                */
                curl_setopt($ch, CURLOPT_POST, 1);
                  
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                curl_setopt($ch, CURLOPT_TIMEOUT, TIMEOUT);
                $contents =curl_exec($ch);
                カール_クローズ($ch);
                //死ぬ($contents);
                // ページ情報からメールリストを取得 ユーザー名 && メールアドレス
                /* XMLデータを返す際の処理
                preg_match_all("/<strings>(.*)</string>/Umsi",$contents,$mails);
                preg_match_all("/<strings*name="FN">(.*)</string>/Umsi",$contents,$names);
                $users = array();
                foreach($names[1] as $k=>$user)
                {
                    //$user = iconv($user,'utf-8','gb2312');
                    $users[$mails[1][$k]] = $user;
                }
                if (!$users)
                {
                    return 'あなたのメールボックスにはまだ連絡先がありません';
                }
                */
                $contents = substr($contents, strlen('while (true); &&&START&&&'), -strlen('&&&END&&& '));
                $content を返します。
        }
}

$gamil = 新しい GMAIL;

$res = $gamil->getAddressList('username@163.com','123456');

$res をエコー;

?>
<スクリプトタイプ="text/javascript">
var data = <?php echo $res ?>

alert(data['Body']); //json データ
</スクリプト>


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

PythonでCURLリクエストとPythonリクエストの相互変換を実現する方法 PythonでCURLリクエストとPythonリクエストの相互変換を実現する方法 May 03, 2023 pm 12:49 PM

curl と Pythonrequests は両方とも、HTTP リクエストを送信するための強力なツールです。 curl はターミナルから直接リクエストを送信できるコマンドライン ツールですが、Python のリクエスト ライブラリは、Python コードからリクエストを送信するためのよりプログラム的な方法を提供します。 curl を Pythonrequestscurl コマンドに変換するための基本的な構文は次のとおりです。curl[OPTIONS]URLcurl コマンドを Python リクエストに変換する場合、オプションと URL を Python コードに変換する必要があります。これは、curlPOST コマンドの例です:curl-XPOST https://example.com/api

Linux での CURL バージョンの更新に関するチュートリアル! Linux での CURL バージョンの更新に関するチュートリアル! Mar 07, 2024 am 08:30 AM

Linux でカールのバージョンを更新するには、以下の手順に従います。 現在のカールのバージョンを確認します。 まず、現在のシステムにインストールされているカールのバージョンを確認する必要があります。ターミナルを開き、次のコマンドを実行します。curl --version このコマンドは、現在のcurlバージョン情報を表示します。利用可能なcurlのバージョンを確認する:curlを更新する前に、利用可能な最新バージョンを確認する必要があります。 Curl の公式 Web サイト (curl.haxx.se) または関連ソフトウェア ソースにアクセスして、curl の最新バージョンを見つけることができます。 Curl ソース コードをダウンロードする:curl またはブラウザを使用して、選択した CURL バージョンのソース コード ファイル (通常は .tar.gz または .tar.bz2) をダウンロードします。

PHP8.1 リリース: 複数リクエストの同時処理のためのcurlの導入 PHP8.1 リリース: 複数リクエストの同時処理のためのcurlの導入 Jul 08, 2023 pm 09:13 PM

PHP8.1 リリース: 複数リクエストの同時処理のためのcurlの導入 最近、PHPは最新バージョンのPHP8.1を正式にリリースし、重要な機能である複数リクエストの同時処理のためのcurlを導入しました。この新機能により、開発者は複数の HTTP リクエストをより効率的かつ柔軟に処理できるようになり、パフォーマンスとユーザー エクスペリエンスが大幅に向上します。以前のバージョンでは、複数のリクエストを処理するには、多くの場合、複数の CURL リソースを作成し、ループを使用してデータをそれぞれ送受信する必要がありました。この方法でも目的は達成できますが、

最初から最後まで: PHP 拡張機能 cURL を使用して HTTP リクエストを行う方法 最初から最後まで: PHP 拡張機能 cURL を使用して HTTP リクエストを行う方法 Jul 29, 2023 pm 05:07 PM

最初から最後まで: HTTP リクエストに php 拡張機能 cURL を使用する方法 はじめに: Web 開発では、多くの場合、サードパーティ API または他のリモート サーバーと通信する必要があります。 cURL を使用して HTTP リクエストを行うのは、一般的で強力な方法です。この記事では、PHP を使用して cURL を拡張して HTTP リクエストを実行する方法を紹介し、いくつかの実用的なコード例を示します。 1. 準備 まず、php に cURL 拡張機能がインストールされていることを確認します。コマンドラインで php-m|grepcurl を実行して確認できます。

PHP Curl で Web ページの 301 リダイレクトを処理するにはどうすればよいですか? PHP Curl で Web ページの 301 リダイレクトを処理するにはどうすればよいですか? Mar 08, 2024 am 11:36 AM

PHPCurl で Web ページの 301 リダイレクトを処理するにはどうすればよいですか? PHPCurl を使用してネットワーク リクエストを送信すると、Web ページから返される 301 ステータス コードが頻繁に発生します。これは、ページが永続的にリダイレクトされたことを示します。この状況を正しく処理するには、いくつかの特定のオプションと処理ロジックを Curl リクエストに追加する必要があります。以下では、PHPCurl で Web ページの 301 リダイレクトを処理する方法を詳しく紹介し、具体的なコード例を示します。 301 リダイレクトの処理原則 301 リダイレクトとは、サーバーが 30 を返すことを意味します。

Linuxカールとは何ですか Linuxカールとは何ですか Apr 20, 2023 pm 05:05 PM

Linux では、curl はサーバーとの間でデータを転送するための非常に実用的なツールです。これは、コマンド ラインで動作する URL ルールを使用するファイル転送ツールです。ファイルのアップロードとダウンロードをサポートし、包括的な転送ツールです。 Curl は、プロキシ アクセス、ユーザー認証、ftp アップロードとダウンロード、HTTP POST、SSL 接続、Cookie サポート、ブレークポイント再開などの非常に便利な機能を多数提供します。

PHP CURLでCookieを設定する方法 PHP CURLでCookieを設定する方法 Sep 26, 2021 am 09:27 AM

PHP CURL で Cookie を設定する方法: 1. PHP サンプル ファイルを作成します; 2. "curl_setopt" 関数を通じて cURL 送信オプションを設定します; 3. CURL に Cookie を渡します。

PHP の致命的なエラーの解決策: 未定義関数curl_setopt() の呼び出し PHP の致命的なエラーの解決策: 未定義関数curl_setopt() の呼び出し Jun 23, 2023 am 08:18 AM

PHP は、多くの Web サイトで広く使用されているオープンソース スクリプト言語です。ただし、場合によっては、PHPFatalerror:Calltounknownfunctioncurl_setopt() という問題が発生し、Web サイトが正常に動作しなくなる可能性があります。では、この問題の正確な原因は何でしょうか? PHP では、curl_setopt() は非常に重要な関数であり、curl を通じてライブラリを拡張するために使用されます。

See all articles