Спасибо!
Спустя 39 минут, 9 секунд (16.07.2011 - 15:14) kovaldm написал(а):
С Явой не знаком, но можно сделать на php + CURL.
Спустя 24 минуты, 52 секунды (16.07.2011 - 15:38) Evilsoul написал(а):
feniks_iopok
на JS или JQuery делать нужно
на JS или JQuery делать нужно
Спустя 1 час, 15 минут, 51 секунда (16.07.2011 - 16:54) Raito-kun написал(а):
Цитата |
на JS или JQuery делать нужно |
а это не одно и тоже, случаем? можно было еще список фреймворков составить.
это делается на php, отсыланием post данных в форму курлом, как уже было сказано.
Спустя 25 минут, 38 секунд (16.07.2011 - 17:20) feniks_iopok написал(а):
если это не сильно сложно, можете пример показать? пхп знаю на троечку, курлом не пользовался....если не затруднит пример, буду благодарен
Спустя 3 минуты, 32 секунды (16.07.2011 - 17:23) Haotarez написал(а):
function get_page($url,$post='',$r, $acc){
if($r == false){
$r = 'http://www.yandex.ru/';
}
$cookie_file='cookiefile.txt';
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER,0);
curl_setopt($ch, CURLOPT_NOBODY,0);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2 WebMoney Advisor");
curl_setopt($ch, CURLOPT_REFERER, $r);
curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate');
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
$header = array();
if($acc){
$header[] = 'Accept: image/png,image/*;q=0.8,*/*;q=0.5';
} else {
$header[] = 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
}
$header[] = 'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7';
$header[] = 'Accept-Language: ru,en-us;q=0.7,en;q=0.3';
$header[] = 'Referer: '.$r;
$header[] = "HTTP_CLIENT_IP: ".rand(80,224).".".rand(80,224).".".rand(80,224).".".rand(80,224);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_POST, true);
if($post) curl_setopt($ch, CURLOPT_POSTFIELDS, implode('&', $post));
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
$output=curl_exec($ch);
$info=curl_getinfo($ch);
if($output!==false){
return $output;
} else {
echo "x";
get_page($url,$post,$r);
}
}
Вот я использую для таких вещей тыщу лет назад написанную функцию, переделайте под свои нужды и в путь.
Спустя 3 минуты, 15 секунд (16.07.2011 - 17:27) feniks_iopok написал(а):
для более быстрого понимая можете сказать что именно он делает?)
Спустя 13 минут, 26 секунд (16.07.2011 - 17:40) Haotarez написал(а):
feniks_iopok
вызываете функцию и передаете ей в качестве первого аргумента ссылку куда коннектимся (в вашем случае это адрес файла который описан в атрибуте тега form - action), во втором аргументе передаем POST данные (в вашем случае надо сделать выборку всех полей формы и сериализовать их в виде пара=значиние&пара2=значиние2... и передать эту строку в виде второго аргумента), третий аргумент это реферер, ну то есть вы даете понять принимающему форму скрипту что вы постите эти данные не со своего локального компа а с их родного сайта например, можно указать false, тогда будет создана видимость что вы пришли с Яндекса : ), четвертый аргумент установите в false если запрашиваете страницу, или true если запрашиваете картинку. Но прочитать док. по CURLу все равно не помешает. Иначе вопросы ваши будут плодить ещё больше вопросов, а ответы на них не будут достаточно ясны : )
вызываете функцию и передаете ей в качестве первого аргумента ссылку куда коннектимся (в вашем случае это адрес файла который описан в атрибуте тега form - action), во втором аргументе передаем POST данные (в вашем случае надо сделать выборку всех полей формы и сериализовать их в виде пара=значиние&пара2=значиние2... и передать эту строку в виде второго аргумента), третий аргумент это реферер, ну то есть вы даете понять принимающему форму скрипту что вы постите эти данные не со своего локального компа а с их родного сайта например, можно указать false, тогда будет создана видимость что вы пришли с Яндекса : ), четвертый аргумент установите в false если запрашиваете страницу, или true если запрашиваете картинку. Но прочитать док. по CURLу все равно не помешает. Иначе вопросы ваши будут плодить ещё больше вопросов, а ответы на них не будут достаточно ясны : )
Спустя 3 минуты, 44 секунды (16.07.2011 - 17:44) feniks_iopok написал(а):
спасибо) пощел читать : )
Спустя 1 минута, 16 секунд (16.07.2011 - 17:45) Raito-kun написал(а):
можно обойтись без кучи ненужных настроек и останется
1 строчка - коннект к урлу
2 ретурн трансфер по желанию
3 передача поста
4 выполнить запрос
Haotarez
я в вашем примере передачи поста не вижу, кстати. помоему тот пример вообще не в тему и не имеет отношения к передачи поста в форму, та функция тупо берет данные страницы и делает это еще и с кучей геморроя.
вот мой пример
он передаст полям name и surname в форме на сайте http://site_with_form значения foo и bar соответственно. для нажатия кнопки нужно передать сабмит понятное дело.
1 строчка - коннект к урлу
2 ретурн трансфер по желанию
3 передача поста
4 выполнить запрос
Haotarez
я в вашем примере передачи поста не вижу, кстати. помоему тот пример вообще не в тему и не имеет отношения к передачи поста в форму, та функция тупо берет данные страницы и делает это еще и с кучей геморроя.
вот мой пример
$ch = curl_init();
$data = array('name' => 'foo', 'surname' => 'bar');
curl_setopt($ch, CURLOPT_URL, 'http://site_with_form');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_exec($ch);
он передаст полям name и surname в форме на сайте http://site_with_form значения foo и bar соответственно. для нажатия кнопки нужно передать сабмит понятное дело.
Спустя 4 минуты, 12 секунд (16.07.2011 - 17:49) feniks_iopok написал(а):
Raito-kun
Цитата |
для нажатия кнопки нужно передать сабмит понятное дело. |
как это осуществить? остальное предельно понятно стало вроде : ) спасибо
Спустя 5 минут, 9 секунд (16.07.2011 - 17:55) Raito-kun написал(а):
добавить в массив имя кнопки сабмита и соответственно value.
например для формы с такой кнопкой
чтобы ее нажать надо добавить
еще не помню правильно ли с массивом, если не получится, в постфилд указывай так
curl_setopt (CURLOPT_POSTFIELDS, "name=foo&surname=bar&subscribe=Subscribe");
но вроде должно работать и с первым вариантом
например для формы с такой кнопкой
<input type="submit" name="subscribe" value="Subscribe" />
чтобы ее нажать надо добавить
$data = array('name' => 'foo', 'surname' => 'bar', 'subscribe' => 'Subscribe');
еще не помню правильно ли с массивом, если не получится, в постфилд указывай так
curl_setopt (CURLOPT_POSTFIELDS, "name=foo&surname=bar&subscribe=Subscribe");
но вроде должно работать и с первым вариантом
Спустя 53 секунды (16.07.2011 - 17:55) feniks_iopok написал(а):
спасибо! вроде все не так сложно)
Спустя 1 минута, 45 секунд (16.07.2011 - 17:57) Raito-kun написал(а):
Цитата |
спасибо! вроде все не так сложно) |
конечно, когда внятно дают ответ, а не функции на 2 страницы с кучей ненужных опций, все становится понятно
Спустя 4 минуты, 4 секунды (16.07.2011 - 18:01) Haotarez написал(а):
Raito-kun
написал же делал 100 лет назад, пост она кстати на удивление слаженно передает, если что... правда я функцию какую-то усеченную запостил (исправил в предыдущем посте)
Куча геморроя - это хидеры на все случаи жизни % ) Написал же подогнать под свои нужды и юзать в своё удовольствие.
написал же делал 100 лет назад, пост она кстати на удивление слаженно передает, если что... правда я функцию какую-то усеченную запостил (исправил в предыдущем посте)
Куча геморроя - это хидеры на все случаи жизни % ) Написал же подогнать под свои нужды и юзать в своё удовольствие.
Спустя 1 минута, 50 секунд (16.07.2011 - 18:03) Raito-kun написал(а):
Haotarez
как-раз после таких ответов я боялся юзать курл когда был новичком
да и вообще думал что это что-то сверхестественное
да, увидел там пост, сори. просто такое нагромождение очень отталкивает
как-раз после таких ответов я боялся юзать курл когда был новичком


да, увидел там пост, сори. просто такое нагромождение очень отталкивает

Спустя 4 минуты, 10 секунд (16.07.2011 - 18:07) Haotarez написал(а):
Цитата |
конечно, когда внятно дают ответ, а не функции на 2 страницы с кучей ненужных опций, все становится понятно |
ну, молю, простите моё желание помочь, обещаю больше не давать исходников : )
ЗЫ, ваш пример с формами например моих сайтов ни с одной не будет работать (я кстати, почти уверен, что не одинок в своих алгоритмах обработки пост данных)
Спустя 3 минуты, 23 секунды (16.07.2011 - 18:11) Raito-kun написал(а):
просто мы по разному преподносим информацию. я стараюсь ясно объяснить механизм, а вы даете новичку юзать огромную функцию, которую без понимания он не исправит под свои нужды. согласен что на некоторых сайтах где есть проверки юзер агента и прочей лабуды он не пройдет, но не думаю что у него такая сложность и если она есть, то с пониманием человек сам допишет или спросит почему не проходит 
ps эта функция если хоть когда-то заходит в элс, может впасть в бесконечную рекурсию

ps эта функция если хоть когда-то заходит в элс, может впасть в бесконечную рекурсию
_____________
есть сайт, 3-4к уников в сутки. зарабатываю 100 рублей в день, почему так мало?