Soket kullanan bir web sitesi getiriliyor ben bu garip davranış alıyorum. Dize aşağıda get_content () işlevinden dönen orijinal web sitesinde mevcut olmayan bazı "ekstra bilgi" içermektedir.
function get_content($a, $b, $c = "00")
{
    $request  = "arg01="  . $a;
    $request .= "&arg02="  . $b;
    $request .= "&arg03="  . $c;
    $host = "www.site.com";
    $script = "/page.php";
    $method = "POST";
    $request_length = strlen($request);
    $header = "$method $script HTTP/1.1\r\n";
    $header .= "Host: $host\r\n";
    $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
    $header .= "Content-Length: $request_length\r\n";
    $header .= "Connection: close\r\n\r\n";
    $header .= "$request\r\n";
    $socket = @fsockopen($host, 80, $errno, $errstr);
    if ($socket) {
        fputs($socket, $header);
            while(!feof($socket)) {
                $output .= fgets($socket);
            }
        fclose($socket);
    }
    return $output;
}
Baskı $ çıkışı:
HTTP/1.1 200 OK
Date: Fri, 24 Jul 2009 15:20:38 GMT
Server: Apache/2.2.8 (Unix) PHP/4.4.8
X-Powered-By: PHP/4.4.8
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html
1f61
<html>
<head>
    <title>
    (...) html here (...)
            <td align='right'><font size='-1'>   18,65</font></td>
    (...) html here (...)
            <td align='right'><font size='-1'>   24,10</font></td>
    (...) html here (...)
            <td align='right'><font size='-1'>   18,40</font></td>
    (...) html here (...)
            <td align='right'><font size='-1'>   24,10</font></td>
    (...) html here (...)
            <td align='right'><font size='-1'>   24,10</font></td>
    (...) html here (...)
            <td align='right'><font size='-1'>   18,65</font></td>
    (...) html here (...)
            <td align='right'><font size='-1'>
f43
   24,10</font></td>
    (...) html here (...)
            <td align='right'><font size='-1'>   18,65</font></td>
    (...) html here (...)
            <td align='right'><font size='-1'>   18,65</font></td>
    (...) html here (...)
            <td align='right'><font size='-1'>   24,10</font></td>
    (...) html here (...)
            <td align='right'><font size='-1'>   18,40</font></td>
    (...) html here (...)
   </body>
</html>
0
Aşağıdaki blok Not:
            <td align='right'><font size='-1'>
f43
   24,10</font></td>
Bu orijinal HTML üzerinde mevcut değildir. Olmalı
            <td align='right'><font size='-1'>   24,10</font></td>
sadece üzerinde diğerleri gibi etiketleri td.
Bu sorunu düzeltmek için, ben kıvrılma ile yuva yerini aldı.
function get_content($a, $b, $c = "00")
{
    $args  = "arg01="  . $a;
    $args .= "&arg02="  . $b;
    $args .= "&arg03="  . $c;
    $host = "http://www.site.com/page.php";
    $ch = curl_init($host);
    curl_setopt($ch, CURLOPT_URL, $host);
    curl_setopt($ch, CURLOPT_POST, count($args));
    curl_setopt($ch, CURLOPT_POSTFIELDS, $args);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_exec($ch);
    $output = curl_multi_getcontent($ch);
    curl_close($ch);
    return $output;
}
CURL sorununu giderir rağmen, ben burada neler olduğunu anlamak istiyorum. Bu "ekstra bilgi" nin kökeni nedir? Böyle bir solucan deliği falan?
Eğer herhangi bir düşünce var mı?
Teşekkürler!
 
			