0

より安全なログインのためにページをロードするたびに新しい数字のセットを出力するサイトがあり、私はそのプロセスを自動化しようとしています. 現在、サイトは実際には html 形式ではなく、出力を 1 行目に表示するだけです。

元:

DChar='c2adf7354aa1f505b8a96b81017e8837';

これを解析して文字列として保存するにはどうすればよいですか?! 実際にはサイトではなく、単なる出力であるため、DOM 機能は機能しません。私は javascript でそれを試みてきましたが、PHP や XML を使った方法も同じくらい良いと思います。また、PHPでは、使用できると思うでしょう

file_get_contents('html');

しかし、何らかの理由で、解析したいものを出力するjavascriptを実行しているサーバーに接続しません。PHPはサーバー間で正しく接続できませんか? 少なくともそれが機能しない理由は私の最善の推測です。

事前にすべての助けをありがとう!

4

2 に答える 2

1

アドレスバーに手動で入力できる通常の Web ページであり、何をしようとしているのか理解できる場合は、PHP を使用して file_get_contents("url-for-the-page"); を使用できるはずです。

次に、このような正規表現を使用preg_match("'([^']*)", $string, $results);して、一重引用符内の部分のみを選択できます。

それが「通常の」Webページである場合、このアプローチが機能しない理由がわかりません。以前は問題なく機能していました。

そうは言っても、あなたはそれがあなたのために働かないと言った. もう少し制御が必要な場合は、PHP cURLを試すことができます。これは、HTML ページを php 変数に入れる cURL Web サイトからの例です。

<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"http://www.myurl.com/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$result=curl_exec ($ch);
curl_close ($ch);
?>

file_get_contents() 関数が機能せず、これがセキュリティ上の目的で配置されているように思われる場合は、後で何をするかがはるかに複雑になる可能性がある (または悪い考え) 可能性があることに注意してください。セキュリティプロセスに従ってください。

于 2012-09-17T07:03:54.693 に答える
0

これを試して:

<?php
$site = 'SITE_URL_HERE';

$data = file_get_contents($site); // may use curl also.

// suppose $data="DChar='c2adf7354aa1f505b8a96b81017e8837';",
// and you want the value within the quotes.

$data = explode( "'", trim($data) );

// result is in $data[1]
?>

それが役に立てば幸い。

于 2012-09-17T11:12:45.003 に答える