[PHP] automatisch waarden posten en content inlezen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Is het mogelijk om via PHP waarden te posten naar een website, en vervolgens de content die die website na het posten geeft als een variabele in te lezen?

Acties:
  • 0 Henk 'm!

  • Y0ur1
  • Registratie: Oktober 2000
  • Niet online
Tuurlijk is dat mogelijk, alleen je moet natuurlijk wel op die server van die andere website kunnen om het eea op te vangen en het weer te laten zien :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
vanaf extern is het dus niet mogelijk begrijp ik...

Acties:
  • 0 Henk 'm!

  • Gummbahla
  • Registratie: Februari 2003
  • Laatst online: 12-09 09:31
Het kan wél van af een externe bron, kijk anders hier voor een voorbeeldje:

http://www.usphp.com/ref.stream.html (Example 2)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Kijk da's super! Daar heb ik wat aan :D bedankt

Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 18-09 14:42
Als je op www.php.net/fsockopen() kijkt vind je ergens in de comments een linkje met een voorbeeld script om een form post te simuleren. Het resultaat welke de pagina geeft waar je de waardes heen post kun je gewoon uitlezen met fread.

Je kunt ook voor een kant en klaar oplossing kiezen welke dit voor je kan; cURL.
Dat voorkomt dat je zelf de HTTP-response moet gaan zitten parsen, wat wel eens lastig kan zijn als de server gebruik maakt van een chunked encoding.

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

kijk op php.net eens naar curl

Acties:
  • 0 Henk 'm!

Verwijderd

Een heel handige wrapper hiervoor is snoopy.

Gebruik je als volgt:

PHP:
1
2
3
$s = new Snoopy();
$s->submit("http://www.server.com/script.cgi",array('var1' => 'value1', 'var2' => 'value2'));
var_dump($s->results);

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

Dat scheelt inderdaad heel veel code :+

PHP:
1
2
3
4
5
$ch = curl_init ();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata);
$data = curl_exec ($ch);


edit:

dacht dat je bedoelde dat het een curl-wrapper is, daar kan ik echter weinig over terugvinden. Snoopy is dan misschien wel handig als er geen curl geinstalleerd is en je daartoe ook niet de mogelijkheden hebt.

[ Voor 43% gewijzigd door Bosmonster op 01-02-2006 11:55 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Inderdaad, het is nauwelijks korter, maar wrapper classes voor dit soort libraries geven dikwijls beter begrijpbare code. Dit is ook een van de doelstellingen van PEAR geweest, classes zijn bijna altijd mooier dan de semi-rommelige function library van php.

@Bosmonster:
je hebt de keuze of het curl moet gebruiken of fsockopen. Heeft verder nog wat extra features om links te volgen enz.

[ Voor 21% gewijzigd door Verwijderd op 01-02-2006 11:58 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
snoopy werkt niet met HTTPS en CURL heb ik momenteel niet tot mijn beschikking :(
Pagina: 1