0


1

これに対する解決策を見回して、私は異なる方法を見つけました。 正規表現を使う人、DOMスクリプトを使う人などがあります。

サイトにアクセスし、ログインし、フォームに記入してから、フォームが送信されたかどうかを確認します。 ログインの一部は私が何も見つけることができない部分です。

誰でも簡単にこれを行う方法を知っていますか?

5 Answer


3


私はLesに同意します。 Charles Charles(またはFiddler、FirefoxのTamper Data拡張、wiresharkなど)は、私がいつもこれを行った方法です。 私が見つけた1つのトリックはいくつかのサイトが3ステップのプロセスを必要とするということです:

  1. 最初にGETリクエストでログインページにアクセスして、セッションID、Cookie、必須フィールド(またはその両方)を取得します。 .netサイトにはVIEWSTATEとEVENTVALIDATIONがあります。

  2. これらの値を取得したら、ログインページに投稿します

  3. 最後に、あなたがフォローしているどんなリソースでも要求してください。

curlのcookie jarとcookieファイルが大いに役立つことを計画しないでください。 単純な正規表現を使用して、ヘッダーからセッションIDとCookieを解析することをお勧めします。

お役に立てれば!


1


あなたがたくさんのGUIのことをする必要があるならば、あなたはある種のスクリプト可能なブラウザを使った方が良いかもしれません。 PHPを使用する必要がある場合は、curlをチェックしてください。http://us2.php.net/curl


1


私が普段やっていることは、http://www.charlesproxy.com/[charles]を起動してブラウザでログイン処理を行い、生の要求を記録することです。 要求をコピーして貼り付け、 fopenまたはhttp://nl3.php.net/manual/en/book.curl.phpを介してそれらを投げます。[curl](回答に応じて若干の調整があります)。


0


あなたはPerlのLWPライブラリを見たいと思うかもしれません(私はそれがPHPではないことを知っています、しかしそれはスクリーンのスクレーピング、Webユニットのテストなどにとても役に立ちます):


0


これについてはかなりの経験があります。 私は以前Curlを使っていましたが、使うのは面白くありません。 特に多くの場合、サイトはXSRFトークンを交換したり、隠し変数を渡したり、あらゆる種類のCookieを設定したりします。 これらすべてをCurlで追跡するのは困難になります。 少なくとも私にとっては。

それから私はSeleniumを調べました、そしてそれが大好きです。 2つのことがあります - 1)Selenium IDEのインストール(Firefoxでのみ動作します)。 2)Selenium RC Serverをインストールします

Selenium IDEを起動したら、自動化しようとしているサイトに移動し、そのサイトで行ったイベントの記録を開始します。 ブラウザでマクロを記録すると考えてください。 その後、あなたはあなたが望む言語のためのコード出力を得る。

ブラウザモブが負荷テストとブラウザのタスク自動化のためにSeleniumを使用しているのはご存じのとおりです。

私はしばらく前に作ったpptをアップロードしました。 これでかなりの時間を節約できます - http://www.4shared.com/get/tlwT3qb_/SeleniumInstructions.html

上記のリンクで通常のダウンロードのオプションを選択してください。