Jak vytvořit http request

NouF
Backer | 65
+
0
-

Ahoj,

jak v nette vytvořit http request a zjistit jaký html kód vrátila? (né v presenteru)

Moc děkuju

Marek Bartoš
Nette Blogger | 1146
+
0
-

O vytvoření obálky pro http request se stará Nette\Http\RequestFactory

$requestFactory = new \Nette\Http\RequestFactory();
$request = $requestFactory->fromGlobals();

Odchytit výstup kódu můžeš takto (i když v záležitosti na usecase může existovat lepší řešení)

$responseContent = \Nette\Utils\Helpers::capture(function () {
	// your code
});
echo $responseContent;
NouF
Backer | 65
+
0
-

Ahoj,

moc děkuju za pomoc, ale asi jsem to nepochopil. Asi nevím jak z toho tvého příkladu „odeslat“ ten požadavek a kam vložit tu URL.

Já aktuálně používám něco takového:

$client = new \GuzzleHttp\Client();
$response = $client->request('GET', $project->url);

$response->getStatusCode()
Marek Bartoš
Nette Blogger | 1146
+
+1
-

Takže ti jde o to vytvořit http požadavek na jinou adresu?
To co jsem napsal se týká zpracování http požadavku, který přišel na tvůj web.
http clienta nette nemá, v klidu dál používej guzzle. Nebo modernější alternativu v podobě symfony/http-client. Ten má i integraci pro PSR-17 a PSR-18, což je momentálně asi nejstandardnější možná volba https://symfony.com/…_client.html#…

NouF
Backer | 65
+
0
-

Moc díky za tip. Mrknu na to.