powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / ввести текст в текстовое поле и нажать на кнопку php
10 сообщений из 10, страница 1 из 1
ввести текст в текстовое поле и нажать на кнопку php
    #37838674
Kreol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
собственно сабж, например на сайте https://secure.webhostinghub.com/whub/choose_domain.php ввести в поле I already have a domain to use. "domen.com" и нажать Next Step и в полученной странице уже парсить цену. 3.95
...
Рейтинг: 0 / 0
ввести текст в текстовое поле и нажать на кнопку php
    #37838712
Kreol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и вообще средствами php это возможно сделать?
...
Рейтинг: 0 / 0
ввести текст в текстовое поле и нажать на кнопку php
    #37838721
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем случае ответ утвердительный. Обычно используется curl для общения с удаленным сервером и регулярные выражения для вытаскивания контента.
...
Рейтинг: 0 / 0
ввести текст в текстовое поле и нажать на кнопку php
    #37847489
Kreol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кто-то может поделиться примером. курю день cURL и что-то совсем ни к чему не пришел. Возможно нужна еще 1 торпеда типа "пинок"
...
Рейтинг: 0 / 0
ввести текст в текстовое поле и нажать на кнопку php
    #37847501
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kreol,

Первым делом заюзайте firebug или другй просмотровщик заголовков. Внимательно изучите, какие именно данные отправляются при нажатии кнопки. Скорее всего, часть этих данных будет отправлена непосредственно с заполненных ручками или автоматически (скриптом) заполняемых полей формы, а часть браузер отошлет самостоятельно (куки, реферер, строка юзер-агента и т.п).

Задача состоит в том, чтоб сформировать максимально похожий (а в идеале - идентичный) запрос к серверу. Возможно, придется дополнительно разобраться, каким образом подставляются значения в скрытые поля (если они есть) и написать функции для их вычисления.

Про куки, реферер и строку юзер-агента тоже не забывайте - куки требуются весьма часто, остальные два нередко проверяются. Обращайте внимание на протокол (у Вас http s ), на редиректы... В общем, от Вас требуется сделать иммитацию веб-браузера настолько точную, чтоб пройти все проверки, которые приготовили разработчики на стороне удаленного сервера.

Kreolкурю день cURL и что-то совсем ни к чему не пришелЕсли совсем нет опыта работы с curl, то начните с небольших тестовых примеров и использования основных опций. Знание протокола HTTP весьма желательно, без него сложно понять некоторые вещи. Примеров в сети гора. Гуглите приблизительно по фразе "php curl отправка формы" или как то так. Ну и официальная документация по curl (в дополнение к пхпшным функциям) будет полезной.
...
Рейтинг: 0 / 0
ввести текст в текстовое поле и нажать на кнопку php
    #37847515
JavaPhpLover
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
необходимо использовать вот эту штуку:

http://code.google.com/p/phpquery/wiki/WebBrowser
...
Рейтинг: 0 / 0
ввести текст в текстовое поле и нажать на кнопку php
    #37851851
Kreol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пошел по пути с simpletest и simple_html_dom
прошу помощи в объяснении ситуации.
написал код:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
require_once('simpletest/browser.php');
require_once('simple_html_dom.php');
$browser = new SimpleBrowser();
$browser->get('http://www.hostmonster.com/cgi-bin/signup');
$browser->setFieldByName('domain', 'domennnn.com');
$browser->click('Next');
$content[] = $browser->getContent();
//$html = str_get_html($content[0]);
//$ret = $html->find('#terms');
echo "hostmonster.com ", $content[0];


не могу пробиться на страницу с прайсом.
Кто может объяснить почему?.
И вопрос 2.
при коде:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
require_once('simpletest/browser.php');
require_once('simple_html_dom.php');
$browser = new SimpleBrowser();
$browser->get('http://www.bluehost.com/cgi-bin/signup');
$browser->setFieldByName('domain', 'domennnn.com');
$browser->click('Next');
$content[] = $browser->getContent();
$html = str_get_html($content[0]);
$ret = $html->find('#terms');
echo "bluehost.com ", $ret;


получаю:
Код: php
1.
 Fatal error: Maximum function nesting level of '100' reached, aborting! in Z:\home\localhost\www\simple_html_dom.php on line 1355



Вопрос 3.
как возможно взять 1-ю строку в объекте select option
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
$browser = new SimpleBrowser();
$browser->get('https://secure.webhostinghub.com/whub/choose_domain.php');
$browser->setField('first_domain_name', 'domainnn.com');
$browser->click('Next Step');
$content[] = $browser->getContent();
$html = str_get_html($content[0]);
$ret = $html->find('#plan_select');
echo "webhostinghub.com ", $ret[0];


получить ее в текстовой форме.
Суть... в конечном итоге получить цену.\
Буду очень благодарен, если кто-то поможет.
...
Рейтинг: 0 / 0
ввести текст в текстовое поле и нажать на кнопку php
    #37851853
Kreol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То есть, чтоб получилось в таком виде:
Код: php
1.
2.
3.
4.
5.
6.
7.
include('simpletest/browser.php');
include('simple_html_dom.php');
$html = file_get_html('http://www.inmotionhosting.com/wordpress-hosting.html');
$ret = $html->find('.price1_hpdspecial');
$str = $ret[0];
preg_match("/\d+\.\d+/", $str, $matches);
echo "inmotionhosting.com ", $matches[0];
...
Рейтинг: 0 / 0
ввести текст в текстовое поле и нажать на кнопку php
    #37851858
Kreol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+ не совсем понятно....
Если я запускаю например друг за другом
Код: php
1.
$browser = new SimpleBrowser();


то как делать рестарт сесий или закрывать браузер, чтобы открывались другие страницы.
Надеюсь понятно изъяснился.
То есть если я напишу:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
$browser = new SimpleBrowser();
$browser->get('http://www.ааа');
$browser->setFieldByName('domain', 'domennnn.com');
$browser->click('Next');

$browser = new SimpleBrowser();
$browser->get('http://www.ббб');
$browser->setFieldByName('domain', 'domennnn.com');
$browser->click('Next');

$browser = new SimpleBrowser();
$browser->get('http://www.ссс');
$browser->setFieldByName('domain', 'domennnn.com');
$browser->click('Next');
...
Рейтинг: 0 / 0
ввести текст в текстовое поле и нажать на кнопку php
    #37851865
Kreol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
библиотека simpletest
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / ввести текст в текстовое поле и нажать на кнопку php
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]