Jak na vzdálený Http request

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Martin Mates
Člen | 179
+
0
-

Zdravím. Píšu formulář, který by měl zkontrolovat zadanou hodnotu přes webovou službu. Ta vrací XML s výsledkem. Začal jsem psát vlastní validátor:

<?php
class CustomValidators {

    /**
     * Pravidlo pro kontrolu vloženého kódu
     * @return bool
     */
    public static function correctCode(TextInput $code) {
            $request = new HttpRequest('http://neco.cz/', HttpRequest::METH_GET);
            $request->addQueryData(array('kod' => '00000016'));
            try {
                $request->send();
                if ($request->getResponseCode() == 200) {

                }
            } catch (HttpException $ex) {

            }
        return $return;
    }

?>

Tohle nefunguje, protože HttpRequest se jmenuje i třída v Nette, která podle mě zapouzdřuje aktuální Request a neumí vytvořit nový.

Jak byste na to šli? Napadlo mě použít curl nebo fopen. Ale nepřijde mi to jako čisté řešení. Co vy na to? Možná jsem úplně na scestí.

Díky!

Ondřej Mirtes
Člen | 1536
+
0
-

Pokud máš na serveru nainstalované rozšíření HTTP, tak se divím, že se to dosud s Nette netluče (právě kvůli třídě HttpRequest). Použij prefixovanou verzi frameworku (všechny třídy v něm začínají na N).