私はこのサイトでさらに PHP を使用しますが、それ以外の場合は、これらの結果を達成するためにさらに Python を学習することに興味があります。
URL に変換する必要がある「findme」値をユーザーが入力できるようにする検索フォームから始めます。(例として、findme = 12345678 を使用します)
<form name="search" method="post" action="search.php" target="_blank" novalidate>
<input type="text" name="findme" />
<input type="submit" name="submit" value="submit" />
</form>
次に、2 番目のサーバーから HTTP ポスト応答ページ内の文字列を取得し、URL を PHP 文字列として保存したいと考えています。
まず、フォームを別のサーバーに送信する必要があります。これが search.php での試みです。
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://another.server.com");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);
$data = array(
'surname' => 'surname',
'name' => 'name',
'findme' => 'findme'
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$output = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
?>
他のサーバーは、新しいページ (つまり、 https://another.server.com/response.html ) を提供することで応答します。次に、findme 文字列を含む行を見つけたいと思います。以下は、12345678 の findme 値の形式です。応答ページの行に表示されます。ABCDE を文字列として保存したい。
<tr class="special"><td><a href="/ABCDE">12345678</a>......
うまくいけば、私は達成することができます
<?php
file_put_contents("response.html", file_get_contents("https://another.server.com/response.html"));
$content = file_get_contents('response.html');
preg_match('~^(.*'.$findme.'.'</a>'.*)$~',$content,$line);
echo $line[1];
$findme_url = substr("abcdef", -37, 5);
echo $findme_url
?>
cURL と preg_match の可能な解決策で更新されましたが、ファイルの内容は cURL から応答ページを読み取る必要があります