[PHP] sturen XML via CURL

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • dhs
  • Registratie: Januari 2010
  • Laatst online: 22-10-2024
Ik probeer via php met de curl functions te communiceren met de management interface (ILO) van een HP Proliant server. Deze kunnen aangesproken worden door XML queries te sturen naar een webadres. Dit is me al gelukt door simpelweg een ssl socket te openen naar die weburl (fsockopen) en met fwrite de xml data te sturen met onderstaande header:

code:
1
2
3
4
5
6
7
$header = 'POST /ribcl HTTP/1.1' . "\r\n";
$header  .= "HOST: 10.40.0.11" . "\r\n";     
$header  .= "User-Agent: locfg-Perl-script/bla" ."\r\n";
$header  .= "Content-Type: text/xml"."\r\n";
$header  .= "Content-length: ".strlen($xmldata) . "\r\n";   
$header  .= 'Connection: Close' . "\r\n";    
$header  .= "\r\n";


en daaronder het XML request.

Dit wil ik nu graag met CURL doen maar met CURL kan ik alleen data sturen mbv POST en POSTFIELDS. Nou is het probleem dat de XML request niet in een postfield moet maar gewoon meteen na de header in de body moet komen (zoals ik met fwrite deed). Is dit mogelijk met CURL? De XML request in een variabele aan de CURLOPT_POSTFIELDS meegeven geeft geen resultaat.

Acties:
  • 0 Henk 'm!

  • WouZz
  • Registratie: Mei 2000
  • Niet online

WouZz

Elvis is alive!

Kijk eens naar CURLOPT_INFILE of CURLOPT_READFUNCTION (icm tmpfile())

[ Voor 13% gewijzigd door WouZz op 01-09-2012 00:34 ]

On track


Acties:
  • 0 Henk 'm!

  • Pizzalucht
  • Registratie: Januari 2011
  • Laatst online: 21:31

Pizzalucht

Snotneus.

PHP:
1
2
curl_setopt($ch, CURLOPT_POST,           1 );
curl_setopt($ch, CURLOPT_POSTFIELDS,    $data );


Dat zou moeten werken. Dus gewoon direct de data erin, niet een key/value array.

Acties:
  • 0 Henk 'm!

  • console
  • Registratie: September 2002
  • Laatst online: 20:46
Je kan ook file_get_contents() gebruiken i.c.m. stream_context_create().