
PHP commando file_get_contents() failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found.
Het PHP commando file_get_contents(url) verwacht een geëncodeerde URL als eerste input variabele. Door urlencode(url) te gebruiken vervang je alle karakters (behalve letters, cijfers en de karaters - (streepje) _ (underscore) en . (punt)) door hun overeenkomstige hexadecimale waarde bestaande uit een % gevolgd door twee cijfers. Let wel op; spaties worden geëncodeerd als een plus (+) teken. Het is daarom beter om de functie rawurlencode() te gebruiken omdat die ook het plus teken op de juiste manier transformeerd.
Naast een geldige geëncodeerde URL moet je er ook voor zorgen dat de opgevraagde locatie ook daadwerkelijk bestaat. Als de opgevraagde URL ter plekke gegenereerd wordt is het vaak verstandig om het PHP commando sleep(x) te gebruiken om er ook echt voor te zorgen dat de URL op de server bestaat.
Andere file_get_contents meldingen zoals de failed to open stream: HTTP request failed! HTTP/1.1 406 Not Acceptable fout komt vaak door instellingen aan de server kant. Instellingen zoals de mod_security applicatie staat tussen het daadwerkelijke opvragen en het teruggeven van de URL. Het kan dus onder meer ongewenste aanvallen opmerken en het HTTP verkeer in de gaten houden.
Wil je reageren?
Velden met een * zijn verplicht.


