Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: XML lähetys PHP:lla

carter [06.03.2010 16:04:35]

#

Eli mites voin lähettää XML dataa toiseen URL:iin PHP:n avulla.

Kokeilin tämmöista:

<?php
$url = URLI;
$data = XML DATAA;

$xml_lahetys =& new HTTP_Request($url);
$xml_lahetys->addHeader("Content-Type", "text/xml");
$xml_lahetys->addHeader("Content-Length", strlen($data));
$xml_lahetys->setMethod(HTTP_REQUEST_METHOD_POST);
$xml_lahetys->addRawPostData($data, true);
$xml_lahetys->sendRequest();
echo $xml_lahetys->getResponseBody();
?>

Mutta en saanut tuolla hässäkällä mitään muuta aikaiseksi kun erroria:
Fatal error: Class 'HTTP_Request' not found in /......php on line 91

Jos joku viittis vähän helppiä

Grez [06.03.2010 16:09:58]

#

Sinun täytyy tietysti sisällyttää (include / require) tuo Pearin HTTP_Request luokka

<?php
require 'HTTP/Request.php';

(olettaen että pear löytyy)

Toisaalta suositellaan käyttämään HTTP_Request2 luokkaa.

carter [06.03.2010 16:16:32]

#

Ei löydy, se siinä onkin. Eli olisikohan jokin muu ratkaisu mahdollinen?

temu92 [06.03.2010 16:25:50]

#

Ehkä fsockopen kelpaa?

carter [06.03.2010 16:35:10]

#

Kyllähän se ilmeisesti kävisi, mutta urlissa on https, ja tulee tämmöinen errori tällä kertaa:

Warning: fsockopen() [function.fsockopen]: unable to connect to https://URLI/:80 (Unable to find the socket transport "https" - did you forget to enable it when you configured PHP?) in /PATH.....php on line 90


edit: sain toimimaan curl hässäkällä :)

Macro [06.03.2010 17:31:57]

#

En nyt itse errorista tiedä, mutta eikös :80 pitäisi olla /-merkin vasemmalla puolella ja https-portti ei ole kylläkään 80 vaan 443?

Grez [06.03.2010 17:37:04]

#

https:ää ja http:tä voi toki käyttää missä vaan portissa. Jos ne on 443 ja 80 niin ei tarvitse erikseen määrittää.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta