404 yılında kendi etki alanı sonuçlarından dosyalarını okuma

2 Cevap php

I curl kullanmak için ya file_get_contents http://example.com/python/json/ den http://example.com/ Ben bir JSON yanıt almak gerektiğini, ancak bunun yerine benim gibi bir şey okumaya çalıştığınızda 404 hatası alıyorum. Benim kendi etki alanı dışında eğilen veya herhangi başka bir yöntemi kullanarak gayet iyi çalışıyor.

echo file_get_contents('http://example.com/python/json/'); => 404
echo file_get_contents('http://google.com'); => OK

Aynı komut benim laptop çalışır, ama ben fark nedir bilemiyorum.

2 Cevap

Başlık: example.com IP adresi için varsayılan etki alanı değildir ve file_get_contents yerine HTTP/1.1 ve HTTP/1.0 kullanır ve / veya Host göndermek yok gibi görünüyor. Yerine PHP curl desteği deneyin:

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://example.com/');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
curl_close($curl);

Alternatif / etc / hosts dosyası example.com için yanlış IP adresini ayarlar.

Belki, etki ile ilgili bir şey? Tabii ki, burada bunu ortaya çıkarmak istemiyorum, bu yüzden yapmanız gereken biraz olabilir, ama ben aklı kontrol böyle GET gibi bir web tarayıcısı (veya komut satırı aracı ile bu URL'yi erişebilirsiniz olacağını tahmin size eğer 'yeniden komut satırı sadece).

Ayrıca etki sadece ping ve / veya traceroute olabilir - neticelerini de aydınlatıcı olabilir.