1

HTML フォームを使用してページに値を POST し、そのページのソースを取得しようとしています。

を使用してソースを取得できます$html = file_get_html('http://www.exam.com/results/');

ただし、ソースを取得する前に、まずそのページに値を POST してから、ソースを取得する必要があります。

値を投稿する必要がある他のページはhttp://www.exam.com/results/

値を送信するためのフォームを作成しました。

<form method="post" action="http://www.exam.com/results/">

<input type="hidden" value="900358967" name="eid">
<input name="confirm" type="submit" value="Enter" >

</form>

値を POST し、そのページにデータを表示しますが、データでページソースを取得する方法は?

これは可能ですか?どこでも検索して取得しようとしましたが、値を POST した後に取得する方法がわかりません。

4

2 に答える 2

1

私はあなたが同じことを試さなければならないと思うCURL

//set POST variables
$url = 'http://www.exam.com/results/';
$fields = array(
'eid' => urlencode('900358967')
);
$fields_string = "";

//url-ify the data for the POST
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string, '&');

//open connection
$ch = curl_init();

//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);

//execute post
$result = curl_exec($ch);
于 2013-04-10T09:58:53.713 に答える
1

javascript でタグ付けされた質問があることに気付きました。したがって、jQueryを使用して機能するソリューションを次に示します。

$.post('http://www.exam.com/results/',$('form').serialize(), function(data) {
    alert(data);
});

URL が html のみを返す場合、html は関数によって返されるデータ変数に含まれます。

于 2013-04-10T10:05:53.757 に答える