Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 1 odgovor
  • 2.081 pregleda

Najnovija ↓

cURL login na ASPX stranicu 17.03.2010. u 23:06 · pre 202 meseca #1
Potrebno mi je da skripta uradi sledeće:
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;
        }
    }
}

?>
Re: cURL login na ASPX stranicu 18.03.2010. u 00:55 · pre 202 meseca #2
Rešio... može da se zatvara ;)

Live HTTP Headers ekstenzija za Firefox me je usmerila ka rešenju.

Ako nekome ikada zatreba...

HTML input element tipa image šalje koordinate na koje je kliknuto unutar slike.

Tako da je meni nedostajalo:
Code:

    'ctl00$PageContentPlaceHolder$LoginBrown$btnLogin.x' => '27',
    'ctl00$PageContentPlaceHolder$LoginBrown$btnLogin.y' => '43',


Ne znam zašto je taj podatak imalo bitan... ali ovde je bio dovoljno bitan da sve koči.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme