2009-07-12 8 views
0

を使用してリモートサイトから掻き落としたときにJavascriptのリンクに続き:リモートページを考えるとPHP

http://example.com/paged_list.aspx

表データのいくつかのページを表示するには、JavaScriptの関数呼び出しを使用しています。

のjavascript:show_page( 1) javascript:show_page(2)

などです。ユーザーはページリンクをクリックして各ページを表示します。これにより、リロードがトリガーされますが、クエリ文字列はありません。つまり、URIはそのままです。

このサイトをスクラップすると、後続のページを取得する方法があると便利ですが、要求にページ番号を指定する明白な方法はありません(file_get_contents()に渡されます)。

にどのような方法があります:

  1. は、リモートのWebアドレスを開きます。
  2. そのアドレスの既知のjavascript関数を呼び出します。
  3. 結果を返しますか?
+0

カントあなたは、ページのソースを見つけますか?ソースを見つけ、代わりにソースから直接コンテンツを取得してください。 –

+0

残念ながら、追加データは最初のページのソースにありません。 JSリンクをクリックするとページがリロードされるため、各ページのデータベースリクエストがあると仮定できます。 –

+1

さて、クエリ文字列などが必要です。Javascriptはサーバーにメッセージを送信する必要があります。 Javascriptはサーバーに直接話すことができないので、** ** **方法です。 –

答えて

2

PHPでJSをエミュレートするのは難しいルートです。 JSソースを分析し、バックグラウンドAJAX操作のURLターゲットを決定する方がずっと簡単です。 URLを呼び出し、必要に応じてargsを変更することで、PHPスクリプトにデータセット全体を取り込むことはかなり簡単な作業です。

+0

実際には、__doPostbackに慣れていなかったASP.NET機能であることが判明しました。それがどのように働いたかを読んだら、libCurlを使ってPOSTデータを送信する動作を模倣することができました。皆さんありがとう! –

+0

あなたのソリューションを投稿できますか? –

0

あなたの最善の策は、正しい引数を使って自分のサーバーに独自のリクエストを行うために、PHPスクリプトに対するjavascript関数/ ajax呼び出しをリバースエンジニアリングすることです。 JSにそこに埋め込まれている場合

あなたは(ネットワーク活動を見て、例えば放火魔)そのすべてを逆転であなたの人生を容易にするために、多くのFirefoxアドオンを使用することができます