PDA

Просмотр полной версии : Curl нажать на кнопку


Serg0007
02.10.2009, 15:24
https://auctions.godaddy.com/trpHome.aspx?t=2 загружаем эту страницу, а дальше нужно нажать на кнопку next, которая выполняет код:
goPage(2);
. Как это сделать средствами курла?

<?php class Curl{
function __construct(){}
function __destruct(){}
function get_contents($url,$proxy='',$post=''){
$ch = curl_init($url); curl_setopt ($ch, CURLOPT_HEADER, 1);
curl_setopt ($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3');
curl_setopt ($ch, CURLOPT_REFERER, $url); curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt ($ch, CURLOPT_POSTFIELDS, 'user=your_robot&pass=Your_R0b0t!PassWd1&mod=Login');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt ($ch, CURLOPT_HTTPHEADER, array('Expect:'));
$result=curl_exec ($ch);
curl_close($ch);
return $result;
}
}
$c= new Curl();
echo $c->get_contents("https://auctions.godaddy.com/trpHome.aspx?t=2");


что делать начиная с этого момента

BlackSun
02.10.2009, 17:21
О да, наши экстрасенсы любят подобные вопросы! goPage(2); в твоем случае это js, рыши эту функцию, смотри на какой скрипт идет запрос и с какими параметрами, далее уже как обычно. Либо возьми снифер, нажми на кнопку и увидишь запрос.

Serg0007
02.10.2009, 19:04
вот сам скрипт
function goPage(n) {
getObj("hidPageNumber").value = n;
document.aspnetForm.submit();
}

Fepsis
02.10.2009, 19:21
1) Парсишь из контента первой страницы параметр __VIEWSTATE

2) Шлёшь пост запрос на URL=https://auctions.godaddy.com/trpHome.aspx?t=2 такого содержания:
POSTDATA=__EVENTTARGET=&__EVENTARGUMENT=&__LASTFOCUS=&__VIEWSTATE=(тут то, что спарсил)&hidAdvSearch=&txtKeywordContext=&hidADVAction=0&hidSortCol=&hidSortDir=&hidPageNumber=3&hidCharFilter=&hidTrc=False&hidAction=&hidItemsAddedToCart=&hidGetMemberInfo=&hidValidatedMemberInfo=&hidShopperId=&ddlRecordsPerPage=50
Где параметр hidPageNumber=3 задаёт номер страницы (в данном случае номер 3)
А вообще, поставь на ФФ плагин Темпер Дата и сам посмотри что как происходит.. ;)