ホームページ  >  記事  >  バックエンド開発  >  PHP を使用して WAP Fetion へのログインをシミュレートし、Fetion_PHP チュートリアルを送信します

PHP を使用して WAP Fetion へのログインをシミュレートし、Fetion_PHP チュートリアルを送信します

WBOY
WBOYオリジナル
2016-07-21 14:53:491191ブラウズ

現在、インターネット上にはサードパーティ製の Fetion インターフェイスが多数存在します。デメリットとしては安定性が低く、現在では無効になっているものも多く、また情報漏洩も心配です。実際、このようなインターフェイスは自分で実装できます。ここで示すアイデアは非常にシンプルです。Fetion の WAP バージョンへのログインをシミュレートすることで、Fetion やその他の操作を送信できます。 WAP Fetion を選択した主な理由は、インターフェイスが比較的シンプルで分析しやすく、検証コードがないためです。

1.FirefoxプラグインPHP を使用して WAP Fetion へのログインをシミュレートし、Fetion_PHP チュートリアルを送信しますをインストールします

このようにして、Firefox を直接使用して WAP Web ページを閲覧したり、Firebug を使用してインターフェイスを分析したりすることもできます。ダウンロードアドレス: https://addons.mozilla.org/zh-CN/firefox/search/?q=PHP を使用して WAP Fetion へのログインをシミュレートし、Fetion_PHP チュートリアルを送信します&cat=all&x=17&y=11

PHP を使用して WAP Fetion へのログインをシミュレートし、Fetion_PHP チュートリアルを送信します

2. ログインページの分析

WAP Fetionの入り口はhttp://f.10086.cn/で、「Chat WAP Fetion」をクリックしてログインページ(http://f.10086.cn/im/login/login.action)に入ります。 Firebug を通して見ることができます:

3つのフィールドがあります: pass (パスワード)、loginstatus (ログインステータス)、m (携帯電話番号)
送信されたアクション: http://f.10086.cn/im/login/inputpasssubmit1.action

実際には、フォームによって送信されたフィールドを取得するためのトリックがあります。以下に示すように、独自のプログラムを指すようにアクションを変更します。

PHP を使用して WAP Fetion へのログインをシミュレートし、Fetion_PHP チュートリアルを送信します

アクションをローカルの PHP プログラムに変更しました。このプログラムは単なる print_r($_POST) であり、結果は次のようになります。

PHP を使用して WAP Fetion へのログインをシミュレートし、Fetion_PHP チュートリアルを送信しますこの内容はフォームで送信するデータです。

3. CURL を使用してログイン操作をシミュレートします

上記の分析から、ログイン時に送信されるコンテンツは比較的単純であり、クロスドメイン送信を防ぐための検証コードやハッシュ値の検証はありません。次に、CURL を使用してログイン フォームの送信をシミュレートします。実際、POST HTTP リクエストが送信され、CURL は返された Cookie をファイルに保存できます。この Cookie ファイルは、Fetion の送信などの後続の操作で使用されます。

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

リーリー

ログインが成功したかどうかで、$result の値を決定できます。

4. クッキーを持ってきて自分にフェションを送りましょう

フェションを自分に送るのは、友達に送るよりも比較的簡単です。専用のページがあります。 「ログイン後のホームページ => 情報 => 自分にテキスト メッセージを送信」から入ることができ、アドレスは

http://f.10086.cn/im/user/sendMsgToMyself.action です。


上記と同じ方法を使用してフォームを分析します:

フィールドは 1 つだけ: msg (テキスト メッセージの内容)
送信されたアクション: http://f.10086.cn/im/user/sendMsgToMyselfs.action


CURL を使用してこの URL に POST リクエストを送信し、上記で保存した Cookie を追加します。コードは次のとおりです。 リーリー
返された $result に基づいて送信が成功したかどうかを判断できます。

5. Fetionを友達に送る前に、まず友達の携帯電話番号に対応するユーザーIDを取得してください

Fetion を友達に送信するためのフォームは携帯電話番号の代わりにユーザー ID を送信するため (このフォームの分析は次のステップで行います)、携帯電話番号に対応するユーザー ID を見つける方法を見つける必要があります。ここで使用しているのは、以下に示すように、Fetion にログインした後のホームページにある「友達を検索」機能です。

携帯電話番号で検索すると、一意で正確な結果が得られます。その後、正規表現を使用して結果ページのユーザー ID と照合します。

PHP を使用して WAP Fetion へのログインをシミュレートし、Fetion_PHP チュートリアルを送信しますまずこのフォームを分析します:

送信フィールド: searchText (1 つだけ)

アクションの送信先: http://f.10086.cn/im/index/searchOtherInfoList.action

CURL を使用してリクエストの送信をシミュレートします。コードは次のとおりです:
リーリー

正規表現を使用して結果のユーザーIDを取得します:
リーリー

このブロックは、ユーザー ID が見つからない場合にプロンプ​​トを表示するために使用できます。

6. 友達にフェションを送る

Fetion メッセージを友達に送信するためのインターフェース。友達をクリックして入力できます。フォームのHTMLは以下の通りです:

このフォームを分析します:

PHP を使用して WAP Fetion へのログインをシミュレートし、Fetion_PHP チュートリアルを送信します

送信フィールド: backUrl、touchTitle、touchTextLength、msg

action: http://f.10086.cn/im/chat/sendMsg.action?touserid=上記で取得したユーザーID

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

実験中に他のフィールドは必要ないことが判明したため、上記の $post にはフィールドが 1 つだけ含まれています。返された$resultによって送信が成功したかどうかを判断できます。

7. フェションを出る

如果不退出的话,则登录后的短时间内如果正好有人给你发飞信,就只能在WAP飞信上查看了,而不能自动发到你的手机上。退出的操作比较简单,只是发送了一个GET方式的请求。“退出”的链接可以在登录后首页的右下角看到,如图:

PHP を使用して WAP Fetion へのログインをシミュレートし、Fetion_PHP チュートリアルを送信します

代码如下:

$curl = curl_init('http://f.10086.cn/im/index/logoutsubmit.action');
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie);        // 注意这里!
$result = curl_exec($curl);
curl_close($curl);

8. 总结

通过对以上代码的整理,可以做出一个飞信发送类。也可以做成一个飞信发送的服务,如简单易用的HTTP方式的接口。飞信最大的好处就在于免费,并能实时将信息发送到手机上,可以做一些类似定时短信或监测提醒的功能。

我这里封装成了一个PHP飞信类。

点击下载:phpfetion v1.2.0 模拟登录WAP飞信发送短信

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/364736.htmlTechArticle目前网上有很多第三方的飞信接口。缺点是都不太稳定,很多到现在都失效无法使用了,另外我们还会担心信息的外泄。其实我们可以自己...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。