Вам необходимо выяснить фактический URL.
Вариант 1a: откройте страницу в браузере с хорошей поддержкой разработчиков (например, Firefox с инструментами веб-разработки) и просмотрите источник, чтобы найти, где определено _doPostBack
. Выясните, какой URL он создает. Обратите внимание, что он может быть не в источнике главной страницы, а в том, что загружает страница.
Вариант 1b: То же самое, но сделайте это с рубином. Если вы загружаете страницу с помощью Net: HTTP, у вас уже есть инструменты для определения определения __doPostBack
(тело в виде строки, grep ruby и возможность запрашивать дополнительные файлы, например, в тегах скрипта ).
Вариант 2. Отслеживание трафика между браузером и страницей (например, с помощью прокси-сервера регистрации), чтобы выяснить, что такое URL.
Вариант 3. Спросите владельца веб-страницы.
Вариант 4: Угадай. Это может быть не так плохо, как кажется (например, если исходный URL оканчивается на «...? Page = 1» или что-то в этом роде), но в целом это наименее вероятно, сработает.
Изменить (в ответ на ваш комментарий на другой вопрос):
Если вы используете библиотеку Net: HTTP, вы можете выполнить обратную передачу, просто заменив get
на post
, например, my_http.post(my_url)
вместо my_http.get(my_url)
Редактировать (в ответ на ответ Даниэльтальского):
watir может быть действительно хорошим решением для вас (я пинаю себя за то, что не подумал об этом), но помните, что вам, возможно, придется вручную запустить событие или пройти через другие обручи, чтобы получить то, что вы хотите. Как конкретная ошибка, при любой асинхронной выборке, подобной этой, вы должны убедиться, что полный ответ вернулся, прежде чем вы его очистите; это не проблема, когда вы выполняете запрос в строке самостоятельно.