Владимир55 Давайте действовать последовательно, а не как Вам захотелось. Я написал - "Вам осталось найти поле - rnd "динамически" и подставлять его значение в форму.", это означает, что поле rnd, нужно получить ДО отправления формы и не ручками, как Вы это сделали, а скриптом !
Блин, до чего же народ пошел невнимательный и ленивый (((.
<?php
$cookie_filename = 'cookies.dat';
$curl = curl_init();
curl_setopt( $curl, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $curl, CURLOPT_TIMEOUT, 30 );
curl_setopt( $curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1' );
curl_setopt( $curl, CURLOPT_COOKIEFILE, $cookie_filename );
curl_setopt( $curl, CURLOPT_COOKIEJAR, $cookie_filename );
curl_setopt( $curl, CURLOPT_SSL_VERIFYHOST, 1 );
curl_setopt( $curl, CURLOPT_SSL_VERIFYPEER, 0 );
curl_setopt( $curl, CURLOPT_FOLLOWLOCATION, 1 );
curl_setopt( $curl, CURLOPT_REFERER, 'http://google.com' );
curl_setopt( $curl, CURLOPT_URL, 'http://www.liveinternet.ru/stat/' );
curl_setopt( $curl, CURLOPT_HEADER, false);
$content = curl_exec($curl);
preg_match( '~<input type=hidden name=rnd value="(.*)">~iUs', $content, $match_rnd );
if ( isset( $match_rnd[1] ) && trim( $match_rnd[1] ) != '' )
$rnd_id = trim( $match_rnd[1] );
else
die( 'Not find RND field ((.' );
http://asd
$form = array(
'rnd' => $rnd_id,
'url' => 'http://asd',
'password' => '123123',
'ok' => 'OK',
);
curl_setopt( $curl, CURLOPT_REFERER, 'http://www.liveinternet.ru/stat/' );
curl_setopt( $curl, CURLOPT_URL, 'http://www.liveinternet.ru/stat/' );
curl_setopt( $curl, CURLOPT_POST, true );
curl_setopt( $curl, CURLOPT_POSTFIELDS, $form );
curl_setopt( $curl, CURLOPT_HEADER, false);
$content = curl_exec($curl);
echo $content;
curl_close( $curl );
@unlink( $cookie_filename );
посмотрите что изменилось и как находится скрытая форма, которая нам так была нужна, все очень просто, если чуть пораскинуть мозгами.
Мне интересно что теперь с этим будете делать дальше <_<