PHP garip libcurl hata (IPHERE bağlanamadı: Bilinmeyen hata 22)

1 Cevap php

Ben senaryoyu bitirmeye ve aniden libcurl çalışma durduruldu. Ben bağlanıyordu sunucu aşağı ya da bir şey olduğunu düşündüm, ama her zaman ben bağlanmaya çalışırsanız nerede ben aynı Siktiri hatayı alıyorum. Hatta benim kutu, aynı sonucu yeniden çalıştı. Şeyler kod parçacığını:

   public function navigate(array $data)
    {
        $ch = curl_init();

        // Setup cURL
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_INTERFACE, $data['ip']);
        curl_setopt($ch, CURLOPT_COOKIEFILE, "/tmp/cookies.jar");
        curl_setopt($ch, CURLOPT_COOKIEJAR, "/tmp/cookies.jar");
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_USERAGENT, $data['agent']);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

        // Visit homepage
        curl_setopt($ch, CURLOPT_URL, "SOMEWEBSITEHERE, MAKES NO DIFFERENCE");
$page=        curl_exec($ch);
var_dump($page, curl_error($ch), curl_errno($ch));
    }

Yukarıdaki var_dump () (URL olarak www.yahoo.com) ile bu çıktıyı üretecektir:

bool(false)
string(51) "Failed to connect to 69.147.76.15: Unknown error 22"
int(7)
Login failed!

Ben bile wireshark ile bağlantısı koklama çalıştı, cURL bile bir bağlantı isteği sorun değil; DNS isteği sadece.

Şu anda clueless değilim.

Gerçekten bu bir el seviniriz.

Teşekkürler.

1 Cevap

İşte tam benim (çalışma) kodu (aslında sizinki, ama daha fazla çıktı) yardımcı olacaktır umuduyla bulunuyor:

$url = 'www.yahoo.com';
$data['ip'] = $_SERVER['SERVER_ADDR'];
$cookie_jar = sys_get_temp_dir() . 'cookiejar.txt';
$data['agent'] = 'Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9.0.2) Gecko/20121223 Ubuntu/9.25 (jaunty) Firefox/3.8';

$fp = fopen('php://temp', 'r+');
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_INTERFACE, $data['ip']);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_USERAGENT, $data['agent']);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_STDERR, $fp);
$page   = curl_exec($ch);
$errno  = curl_errno($ch);
$errmsg = curl_error($ch);
$info   = curl_getinfo($ch);
curl_close($ch);
rewind($fp);
$verbose = fread($fp, 8192);
fclose($fp);

echo '<pre>';
echo 'Error number: ' . $errno . '<br />';
echo 'Error message: ' . $errmsg . '<br />';
echo '------------------' . '<br />';
print_r($info);
echo '------------------' . '<br />';
echo $verbose . '<br />';
echo '------------------' . '<br />';
echo htmlspecialchars($page);
echo '</pre>';