I'm using the file_get_contents function to control a client,
(e.g. http://ip:port/?light=on)
When using the corresponding command in the browser it works, when i use the same url in combination with file_get_contents function it doesnt work.
When i wireshark the requests i notice that the browser is using http/1.1 and file_get_contents is using http/1.0.
I believe that the version of http is the problem why my code is not working,
How can i change this version of http in de file_get_contents function? or work around it?
You can set the HTTP version using a context:
$context = stream_context_create(array('http'=>array('protocol_version'=>'1.1')));
file_get_contents('http://ip:port/?light=on', false, $context);
See also the full list of context options http://www.php.net/manual/en/context.http.php
Note that if the server uses chunked encoding, you must use PHP 5.3 or superior.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With