Uloguje se na sajt, ode na jednu stranicu i sa te stranice downloaduje zip fajl.
Očigledno je da sam se zaglavio sam kod ovog prvog:
Sumnjam na to da mi nešto nedostaje... ima li neko ideju gde grešim.
Code:
<?php
$cookie_file_path = '/Users/Alexxandar/Documents/WWW/$temp/ppg.txt';
$url ="http://ppg.canadatrader.com/login.aspx";
$fp = fopen("$cookie_file_path","w");
fclose($fp);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6 GTBDFff GTB7.0");
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
$result = curl_exec ($ch);
$doc = new DOMDocument();
@$doc->loadHTML($result);
$viewstate = inputValueById($doc, '__VIEWSTATE');
$eventvalidation = inputValueById($doc, '__EVENTVALIDATION');
$postArray = array(
'ctl00$PageContentPlaceHolder$LoginBrown$frmUserName' => 'username',
'ctl00$PageContentPlaceHolder$LoginBrown$frmPassword' => 'password',
'__EVENTTARGET' => '',
'__EVENTARGUMENT' => '',
'ctl00$PageContentPlaceHolder$LoginBrown$btnLogin' => '',
'__EVENTVALIDATION' => $eventvalidation,
'__VIEWSTATE' => $viewstate
);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6 GTBDFff GTB7.0");
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postArray);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
$result = curl_exec ($ch);
echo "<hr />" . $result . "<hr />";
curl_close ($ch);
function inputValueById($DOMdoc, $id)
{
$xpath = new DOMXPath($DOMdoc);
$element = $xpath->query("//*[@id='$id']")->item(0);
foreach ($element->attributes as $attrName => $attrNode)
{
if($attrName == 'value')
{
return $attrNode->value;
}
}
}
?>
<?php
$cookie_file_path = '/Users/Alexxandar/Documents/WWW/$temp/ppg.txt';
$url ="http://ppg.canadatrader.com/login.aspx";
$fp = fopen("$cookie_file_path","w");
fclose($fp);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6 GTBDFff GTB7.0");
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
$result = curl_exec ($ch);
$doc = new DOMDocument();
@$doc->loadHTML($result);
$viewstate = inputValueById($doc, '__VIEWSTATE');
$eventvalidation = inputValueById($doc, '__EVENTVALIDATION');
$postArray = array(
'ctl00$PageContentPlaceHolder$LoginBrown$frmUserName' => 'username',
'ctl00$PageContentPlaceHolder$LoginBrown$frmPassword' => 'password',
'__EVENTTARGET' => '',
'__EVENTARGUMENT' => '',
'ctl00$PageContentPlaceHolder$LoginBrown$btnLogin' => '',
'__EVENTVALIDATION' => $eventvalidation,
'__VIEWSTATE' => $viewstate
);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6 GTBDFff GTB7.0");
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postArray);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
$result = curl_exec ($ch);
echo "<hr />" . $result . "<hr />";
curl_close ($ch);
function inputValueById($DOMdoc, $id)
{
$xpath = new DOMXPath($DOMdoc);
$element = $xpath->query("//*[@id='$id']")->item(0);
foreach ($element->attributes as $attrName => $attrNode)
{
if($attrName == 'value')
{
return $attrNode->value;
}
}
}
?>