MSN (HOTMAIL) メール友達同期更新バージョン 2011-8 を取得できない問題を解決する方法
MSN (HOTMAIL) メール フレンド同期の更新バージョン 2011-8 を入手します
昨年、MSN (HOTMAIL)、gmail、yahoo の 3 つの模擬ログインを作成しました。
現在、MSN の有効期限が切れています。これはインターネットでも必要なため、もう一度 HTTP 分析ツールを入手して詳しく調べてみました
今回の分析では、MSN がログイン時に COOKIE を検出したことがわかりました。最後のステップでは、COOKIE を検出するのが正常です。
今回は、過剰な COOKIES が検出された場合、彼は必要な Cookie をフィルタリングすることしかできません。最後のステップの要件
わかりました、コードは次のとおりです (基本的には前回と同じですが、途中に追加の COOKIE フィルターがある点が異なります)
私のブログ: www.onlypo.com
- 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 ); //タイムアウト設定 エラー報告(E_ALL); クラスMSN { 関数 getAddressList($username, $password) { //ステップ 1: ログイン ページのデータの取得をシミュレートし、Cookie を書き留めます $cookies = 配列(); $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.1.6206.0&wp=MBI&wreply=http:%2F %2Fmail.live.com%2Fdefault.aspx&lc=2052&id=64855&mkt=zh-cn&cbcxt=mail&snsc=1"); curl_setopt($ch, CURLOPT_COOKIEJAR, COOKIEJAR); curl_setopt($ch, CURLOPT_TIMEOUT, TIMEOUT); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $str =curl_exec($ch); カール_クローズ($ch); //データ ファイルは JS によって生成された Cookie をシミュレートします $CkTst = 'G'.time() * 1000; $wlidperf = "スループット=3&latency=948&FR=L&ST=".(time() * 1000 + 1254); $fp = fopen(COOKIEJAR, "a+"); $str_new = "login.live.comtTRUEt/tFALSEt0tCkTstt$CkTstrn"; $str_new .= "login.live.comtTRUEt/tFALSEt0twlidperft$wlidperfrn"; fwrite($fp,$str_new); fclose($fp); //パラメータの分析 $matches = 配列(); preg_match('/<inputs*type="hidden"s*name="PPFT"s*id="(.*?)"s*value="(.*?)"s*/>/i' 、$str、$matches); $PPFT = $matches[2]; $タイプ = 11; $LoginOptions = 3; $Newuser = 1; $idsbho = 1; $i2 = 1; $i12 = 1; $i3 = '562390'; $i14 = '868'; $i15 = '1338'; $PPSX = 'パ'; //パラメータをマージします $postfiles = "login=".$username."&passwd=".$password."&type=".$type."&LoginOptions=".$LoginOptions."&Newuser=".$Newuser."&idsbho=".$idsbho ."&i2=".$i2."&i3=".$i3."&PPFT=".$PPFT."&PPSX=".$PPSX."&i12=1&i14=$i14&i15=$i15"; //ステップ 2: ログインを開始する $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.1.6206.0&wp= MBI&wreply=http:%2F%2Fmail.live.com%2Fdefault.aspx&lc=2052&id=64855&mkt=zh-cn&cbcxt=mail&snsc=1&bk='.(time()+715)); //ここでの 2 つの time() は次のとおりです。ランダムな時間をシミュレートする curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $postfiles); 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 =curl_exec($ch); カール_クローズ($ch); if(stripos($content,'WLWorkflow') !== FALSE ) { //WLWorkflow ログイン ページ JS return false; //ログインに失敗しました。 } // 位置情報のリンクを取得 $matches = 配列(); preg_match('/window.location.replace("(.*?)")/i', $content, $matches); $url_continiune_1 = $matches[1] //次のリンク if(!$url_continiune_1) { false を返します。 } // 冗長な Cookie を削除します $arr_new = ファイル(COOKIEJAR); $str_new = ''; $need_arr = 配列(0,1,2,3,7,9,13,15,16,17,18,21,22); foreach($arr_new as $k => $v) { if(in_array($k, $need_arr)) $str_new .= "$v"; }$fp = fopen(COOKIEJAR, "w+"); fwrite($fp,$str_new); fclose($fp); // 第三步: 入引导页面 $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 をエコーします。 カール_クローズ($ch); //获取redicturl链接 $matches = 配列(); preg_match('/<as>/i', $content_2, $matches); $url_contiune_2 = $matches[1]; //次に来る接続 if(!$url_contiune_2) { false を返します。 } //获取邮箱请要求基址读取host $matches = 配列(); 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) { false を返します。 } //第四步: 开始获取邮箱联系人 //ベース $url_4 $ch =curl_init(); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_COOKIEFILE, COOKIEJAR); curl_setopt($ch, CURLOPT_URL, $url_4); curl_setopt($ch, CURLOPT_TIMEOUT, TIMEOUT); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $str =curl_exec($ch); カール_クローズ($ch); // データを分析します (このデータは Hotmail の JS 処理機構のため、表面では表示されませんが、ソース コードではデータを確認できます) return $this->hanlde_date($str); } 関数 hanlde_date($data) { $new_str = 配列(); if(!empty($data)) { $ops_start =tripos($data,'ic_control_data'); $ops_end = ストリップス($data,';',$ops_start); $new_str = substr($data, $ops_start + strlen('ic_control_data = '), $ops_end - $ops_start - strlen('ic_control_data = ') ); $new_str を返します。 //JSON オブジェクトを返す } それ以外 { 戻り配列(); } } } $msn = 新しい MSN(); $res = $msn->getAddressList('usrname@hotmail.com','111111'); ?> <div class="clear"></div></as>

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









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

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

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

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

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

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

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

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