Pregunta
Tengo este script que requiere allow_url_fopen = On
que no es una buena idea y quiero cambiar curl
.Voy a apreciar si alguno me puede ayudar como hacer el fputs GET
.
$SH = fsockopen($IP, $Port, $errno, $errstr, 30);
echo $errstr;
#$ch = curl_init();
#curl_setopt($ch, CURLOPT_TIMEOUT, 30);
#curl_setopt($ch, CURLOPT_URL, $IP.":".$Port);
#curl_setopt ($ch, CURLOPT_HEADER, 0);
if ($SH){
fputs($SH,"GET /7.html HTTP/1.0\r\nUser-Agent: S_Status (Mozilla Compatible)\r\n\r\n");
$content = "";
while(!feof($SH)) {
$content .= fgets($SH, 1000);
#content .= curl_setopt($ch, CURLOPT_FILE, $SH);
}
fclose($SH);
#curl_close($ch);
}
Solución
Si entiendo tu pregunta correctamente, usted está buscando cómo enviar la solicitud HTTP (que es lo que tu fputs($SH, "GET ...")
está haciendo, que se realiza mediante curl_exec()
.Parece que esto debería funcionar.
$ch = curl_init();
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_PORT, $Port);
curl_setopt($ch, CURLOPT_URL, $IP . '/7.html');
curl_setopt($ch, CURLOPT_USERAGENT, 'S_Status (Mozilla Compatible)');
//tell curl to return the output, not display it
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
//execute the request
$content = curl_exec($ch);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow