SORU
21 EYLÜL 2010, Salı


Php Hata Ayıklama Curl

Göndermeden önce bir istekte yazı alanları görmek istiyorum. (Hata ayıklama için).

Php Kütüphanesi (class) zaten yapılır kullanıyorum (bana göre değil), bunu anlamaya çalışıyorum.

Söyleyebileceğim kadarıyla, curl_setopt() farklı seçenekleri başlıkları gibi ayarlamak için kullanır ve sonra da curl_exec() isteği göndermek için kullanır.

Yazı alanlar gönderilme görmek nasıl fikir?

CEVAP
21 Ocak 2013, PAZARTESİ


CURLOPT_VERBOSE seçeneği etkinleştirin ve bir (geçici) bilgiler CURLOPT_STDERR günlük:

// CURLOPT_VERBOSE: TRUE to output verbose information. Writes output to STDERR, 
// or the file specified using CURLOPT_STDERR.
curl_setopt($handle, CURLOPT_VERBOSE, true);

$verbose = fopen('php://temp', 'w ');
curl_setopt($handle, CURLOPT_STDERR, $verbose);

O zaman curl isteği yaptı, sonra okursun:

$result = curl_exec($handle);
if ($result === FALSE) {
    printf("cUrl error (#%d): %s<br>\n", curl_errno($handle),
           htmlspecialchars(curl_error($handle)));
}

rewind($verbose);
$verboseLog = stream_get_contents($verbose);

echo "Verbose information:\n<pre>", htmlspecialchars($verboseLog), "</pre>\n";

(Ben aslında 11* *ile ilgili bir soru.)

Son isteği ile ilgili Ölçümler gibi daha fazla bilgi curl_getinfo ile kullanılabilir. Bu Bilgi curl istekleri de hata ayıklama için yararlı olabilir. Kullanımı bir örnek, normalde bir fonksiyon haline sarmak istiyorum:

$version = curl_version();
extract(curl_getinfo($handle));
$metrics = <<<EOD
URL....: $url
Code...: $http_code ($redirect_count redirect(s) in $redirect_time secs)
Content: $content_type Size: $download_content_length (Own: $size_download) Filetime: $filetime
Time...: $total_time Start @ $starttransfer_time (DNS: $namelookup_time Connect: $connect_time Request: $pretransfer_time)
Speed..: Down: $speed_download (avg.) Up: $speed_upload (avg.)
Curl...: v{$version['version']}
EOD;

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Android Police

    Android Poli

    21 NİSAN 2010
  • Mr. H

    Mr. H

    1 Temmuz 2012
  • William Hyde

    William Hyde

    23 HAZİRAN 2008