PHP POST Request – brez uporabe cURL knjižnice
cURL je fajn knjižnica, ampak a ne bi bilo še boljše kreirati / emulirati web form POST zahtevek z uporabo čistega PHP-ja, torej brez zunanjih knjižnic kot je cURL. Zakaj bi se trudili? Ker si s tem povečamo možnosti, da bo skripta delovala na vseh (veliki večini) strežnikov.
Kreirati POST zahtevek je v resnici zelo preprosto. Najprej kreiramo URL iz naših podatkov (v našem primeru array), nato določimo pravilne headerje v katere shranimo tudi velikost naših podatkov. Brez tega parametra (Content-Length) POST zahtevek ne bo deloval! Sedaj vse naše nastavitve spravimo v takšen array oz. v takšno strukturo, da bo znala funkcija stream_context_create prebrati naše nastavitve.
Sedaj nam ostane samo še klic spletne strani kamor pošljemo naš POST zahtevek in nato branje podatkov, ki nam jih spletna stran vrne. To je vse.
-
function emulatePostRequest($data, $url) {
-
// Go trough data and unset empty params
-
foreach($data as $key => $param) {
-
}
-
}
-
-
// Create data
-
$data = http_build_query($data);
-
-
// Headers
-
$headers = "Content-type: application/x-www-form-urlencoded\r\n";
-
-
// Create stream
-
'header' => $headers,
-
'content' => $data)
-
);
-
-
// Get the result
-
-
// Return page content
-
return $result;
-
}
Dodatne informacije:
Podobni članki:
- PHP GET Request – Basic Authorization – Chunk data
- Kako internetni strani dodati nestandardne fonte-pisave brez uporabe CSS3
- PHP – namestitev SQL Server 2005 knjižnice (SQLSRV extension)
- Rezanje teksta po koncu besede – php funkcija – substr – cut text – UTF-8
- PHP – branje Excel (.xls) datoteke – Excel UTF8 branje
- Napiši svoj PHP error handler (obdelovalec napak:P)
- Konverzija CP1250, ISO-8859-1 baze v UTF-8 – šumniki UTF-8 – cp1250 to utf8
- Preprosta skripta – kreiranje Excel datoteke iz PHP tabele/array
- Povezava na MSSQL 2005 z uporabo PHP mssql knjižnice (MSSQL, PHP MSSQL, Windows, Apache)
- MySQL kreiranje tabele s SELECT stavkom


