Gå til innhold

Trenger hjelp med curl :)


Anbefalte innlegg

Skrevet

<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://speed.travian.co.uk");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$frontpage = curl_exec($ch);
$tokens = array();
//Hent inn hidden validation fields
//preg_match('/ id="__VIEWSTATE" value="([^"]+)"/', $frontpage, $tokens['viewstate']);
preg_match('/type="text" name="([^"]+)"/', $frontpage, $tokens['name']);
preg_match('/type="password" name="([^"]+)"/', $frontpage, $tokens['name']);
$tokens['name'] = $tokens['name'][1];
$tokens['pass'] = $tokens['pass'][1];
curl_setopt($ch, CURLOPT_URL, "http://speed.travian.co.uk");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
$post = '$tokens[name]="******"';
$post .= '&$tokens[pass]="******"';
$post .= '&s1=1';
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
//curl_setopt($ch, CURLOPT_COOKIEJAR, $this->cookiefil);
//curl_setopt($ch, CURLOPT_COOKIEFILE, $this->cookiefil);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$dorf1 = curl_exec($ch);
echo "$dorf1";
$info = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
echo "$info";
?>

 

Eg får det ikkje til og fungere :S

Nokon som kan hjelpe meg?

Videoannonse
Annonse
Skrevet

Flott at du også poster informasjon om eventuelle feilmeldinger, om scriptet er en del av et annet script, hvor du har funnet det, hva som er meningen med scriptet, og hva som skjer når du prøver å kjøre det.

 

*sukk*

Skrevet (endret)

Det som viser: vanlige siden som på speed.travian.co.uk + http://speed.travian.co.uk nederst.

nei eg har laget scriptet ved hjelp av sendsms klassen som en fyr postet.

Meningen er at den skal logge inn på travian.

Endret av stigden
Skrevet (endret)

function do_post_request($url, $data, $optional_headers = null)
{
  $params = array('http' => array(
			'method' => 'POST',
			'content' => $data
		 ));
  if ($optional_headers !== null) {
  $params['http']['header'] = $optional_headers;
  }
  $ctx = stream_context_create($params);
  $fp = @fopen($url, 'rb', false, $ctx);
  if (!$fp) {
  throw new Exception("Problem with $url, $php_errormsg");
  }
  $response = @stream_get_contents($fp);
  if ($response === false) {
  throw new Exception("Problem reading data from $url, $php_errormsg");
  }
  return $response;
}

$data = ""; //data her i form av querystring (var1=value1&var2=value2)

print do_post_request('http://speed.trvaian.co.uk/dorf1.php', $data);

 

men det ser ut som travian har gjort en del grep for å gjøre det vanskelig for deg. du må undersøke formen og javascriptet på siden for å finne ut dataen du må legge inn. travian har blandt annet hidden inputs som endrer seg for hver sidevisning.

 

du får også muligens problemer med at siden krever cookies.

Endret av grimjoey
Skrevet

bruker du firefox kan du laste ned tamper data addon som vil vise alle headers som blir sendt frem og tilbake. på den måten kan du gjenskape samme dataflyt med curl eller do_post_request().

Skrevet (endret)

Fekk med meg litt nå.

men skjøner ikkje ka valuen skal vere her: <input type="hidden" name="ec03ff1" value="">

Skjønner heller ikkje korleis eg ska finne ut kva som skal verre i s1.x og s1.y?

Endret av stigden

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...