私は、必要に応じて、HTTP応答ヘッダーとfsockを使用してGET要求の内容の両方を取得するために、スクリプトを設定しました。PHPでfsockopenのHTTPヘッダーを解析しますか?
function checkUrl($host,$url,$port) {
$fp = fsockopen($host, $port, $errno, $errstr, 10);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET $url HTTP/1.1\r\n";
$out .= "Host: $host\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
$response = fgets($fp, 1024);
print(substr($response,9,3));
}
fclose($fp);
}
}
私は単純にすべてをエコーすると、それを呼び出してすべての適切なデータを取得します。しかし、実際に私が関数から返す必要があるのは、HTTP STATUSコードだけです。
すなわち404または200または301など
しかし、上記のコードは必ず、その後私は3つの文字に制限されてきたとき、私は理解していない最後のちんぷんかんぷんの負荷でエラーコードを提供します!
404, 2BM_n: Encype HThe tp-me=srcsrclanstaPre> lanmg=[0][1][2][3][4][5][6][7][8][9][10[11[12 swt.i> ypeeleamiize#99eco#66ade#33izeine#CCize { #66izeeig tmardespath=th=th=th=th=th=th=spardeolordeignign bocol widwidwid col bler> td Sorabl> e> rdeolordespath=th=th= bo spardeoloe="lanSen>
私の反応は実際には文字列の右よりも複雑だと私は信じていますか?ヘッダーに特別なものがあるのですか、あるいはfgetsの仕組みを誤解していますか?何か助けをたくさんいただきました
あなたは絶対に正しいです、私の部分を考えています:)ブラウザのようにフルページを取得して適切にコンパイルすることが重要なので、ファイル全体を処理する必要があると考えていました。 – Seer