Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Curl нажать на кнопку (https://forum.antichat.xyz/showthread.php?t=145148)

Serg0007 02.10.2009 15:24

Curl нажать на кнопку
 
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 такого содержания:
PHP код:

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)
А вообще, поставь на ФФ плагин Темпер Дата и сам посмотри что как происходит.. ;)


Время: 22:06