<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.curl.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'de',
  ),
  'this' => 
  array (
    0 => 'function.curl-getinfo.php',
    1 => 'curl_getinfo',
    2 => 'Ruft Informationen zu einem bestimmten Transfer ab',
  ),
  'up' => 
  array (
    0 => 'ref.curl.php',
    1 => 'cURL Funktionen',
  ),
  'prev' => 
  array (
    0 => 'function.curl-exec.php',
    1 => 'curl_exec',
  ),
  'next' => 
  array (
    0 => 'function.curl-init.php',
    1 => 'curl_init',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'de',
    'path' => 'reference/curl/functions/curl-getinfo.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.curl-getinfo" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">curl_getinfo</h1>
  <p class="verinfo">(PHP 4 &gt;= 4.0.4, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">curl_getinfo</span> &mdash; <span class="dc-title">Ruft Informationen zu einem bestimmten Transfer ab</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.curl-getinfo-description">
  <h3 class="title">Beschreibung</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>curl_getinfo</strong></span>(<span class="methodparam"><span class="type"><a href="class.curlhandle.php" class="type CurlHandle">CurlHandle</a></span> <code class="parameter">$handle</code></span>, <span class="methodparam"><span class="type"><span class="type"><a href="language.types.null.php" class="type null">?</a></span><span class="type"><a href="language.types.integer.php" class="type int">int</a></span></span> <code class="parameter">$option</code><span class="initializer"> = <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong></span></span>): <span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span></div>

  <p class="para rdfs-comment">
   Gibt Informationen über den letzen Transfer zurück.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.curl-getinfo-parameters">
  <h3 class="title">Parameter-Liste</h3>
  <p class="para">
   <dl>
    <dt><code class="parameter">handle</code>
</dt><dd><p class="para">Ein von <span class="function"><a href="function.curl-init.php" class="function">curl_init()</a></span> zurückgegebenes
cURL-Handle.</p></dd>
    
     <dt><code class="parameter">option</code></dt>
     <dd>
      <p class="para">
       Eine der <strong><code><a href="curl.constants.php#constant.curlinfo-text">CURLINFO_<span class="replaceable">*</span></a></code></strong>-Konstanten.
      </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.curl-getinfo-returnvalues">
  <h3 class="title">Rückgabewerte</h3>
  <p class="para">
   Wird der Parameter <code class="parameter">option</code> angegeben, wird der
   entsprechende Wert zurückgegeben. Andernfalls liefert die Funktion ein
   assoziatives Array mit den folgenden Elementen zurück (analog zum Parameter
   <code class="parameter">option</code>), oder <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> im Fehlerfall:
   <ul class="itemizedlist">
    <li class="listitem">
     <span class="simpara">
      &quot;url&quot;
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;content_type&quot;
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;http_code&quot;
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;header_size&quot;
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;request_size&quot;
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;filetime&quot;
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;ssl_verify_result&quot;
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;redirect_count&quot;
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;total_time&quot;
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;namelookup_time&quot;
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;connect_time&quot;
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;pretransfer_time&quot;
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;size_upload&quot;
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;size_download&quot;
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;speed_download&quot;
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;speed_upload&quot;
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;download_content_length&quot;
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;upload_content_length&quot;
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;starttransfer_time&quot;
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;redirect_time&quot;
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;certinfo&quot;
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;primary_ip&quot;
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;primary_port&quot;
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;local_ip&quot;
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;local_port&quot;
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;redirect_url&quot;
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;request_header&quot; (Dies ist nur gesetzt, wenn die Option
      <strong><code><a href="curl.constants.php#constant.curlinfo-header-out">CURLINFO_HEADER_OUT</a></code></strong> durch einen vorherigen Aufruf
      von <span class="function"><a href="function.curl-setopt.php" class="function">curl_setopt()</a></span> gesetzt wurde)
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      &quot;posttransfer_time_us&quot; (verfügbar seit PHP 8.4.0 und cURL 8.10.0)
     </span>
    </li>
   </ul>
   Es ist zu beachten, dass private Daten nicht im assoziativen Array
   enthalten sind, sondern individuell mit der Option
   <strong><code><a href="curl.constants.php#constant.curlinfo-private">CURLINFO_PRIVATE</a></code></strong> abgerufen werden müssen.
  </p>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.curl-getinfo-changelog">
  <h3 class="title">Changelog</h3>
  <p class="para">
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Version</th>
       <th>Beschreibung</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td>8.4.0</td>
       <td>
        Die Konstante <strong><code><a href="curl.constants.php#constant.curlinfo-posttransfer-time-t">CURLINFO_POSTTRANSFER_TIME_T</a></code></strong> und
        der Schlüssel <code class="literal">posttransfer_time_us</code> eingeführt
        (Curl 8.10.0 oder neuer).
       </td>
      </tr>

      <tr>
       <td>8.3.0</td>
       <td>
        Die Konstanten <strong><code><a href="curl.constants.php#constant.curlinfo-cainfo">CURLINFO_CAINFO</a></code></strong>
        und <strong><code><a href="curl.constants.php#constant.curlinfo-capath">CURLINFO_CAPATH</a></code></strong> eingeführt.
       </td>
      </tr>

      <tr>
       <td>8.2.0</td>
       <td>
        Die Konstanten <strong><code><a href="curl.constants.php#constant.curlinfo-proxy-error">CURLINFO_PROXY_ERROR</a></code></strong>,
        <strong><code><a href="curl.constants.php#constant.curlinfo-referer">CURLINFO_REFERER</a></code></strong> und
        <strong><code><a href="curl.constants.php#constant.curlinfo-retry-after">CURLINFO_RETRY_AFTER</a></code></strong> eingeführt.
       </td>
      </tr>

      <tr>
 <td>8.0.0</td>
 <td>
  <code class="parameter">handle</code> erwartet nun eine
  <span class="classname"><a href="class.curlhandle.php" class="classname">CurlHandle</a></span>-Instanz; vorher wurde eine
  <span class="type"><a href="language.types.resource.php" class="link">Ressource</a></span> erwartet.
 </td>
</tr>

      <tr>
       <td>8.0.0</td>
       <td>
        <code class="parameter">option</code> ist jetzt nullable (akzeptiert den
        <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong>-Wert); vorher war der Vorgabewert <code class="literal">0</code>.
       </td>
      </tr>

      <tr>
       <td>7.3.0</td>
       <td>
        <strong><code><a href="curl.constants.php#constant.curlinfo-content-length-download-t">CURLINFO_CONTENT_LENGTH_DOWNLOAD_T</a></code></strong>,
        <strong><code><a href="curl.constants.php#constant.curlinfo-content-length-upload-t">CURLINFO_CONTENT_LENGTH_UPLOAD_T</a></code></strong>,
        <strong><code><a href="curl.constants.php#constant.curlinfo-http-version">CURLINFO_HTTP_VERSION</a></code></strong>,
        <strong><code><a href="curl.constants.php#constant.curlinfo-protocol">CURLINFO_PROTOCOL</a></code></strong>,
        <strong><code><a href="curl.constants.php#constant.curlinfo-proxy-ssl-verifyresult">CURLINFO_PROXY_SSL_VERIFYRESULT</a></code></strong>,
        <strong><code><a href="curl.constants.php#constant.curlinfo-scheme">CURLINFO_SCHEME</a></code></strong>,
        <strong><code><a href="curl.constants.php#constant.curlinfo-size-download-t">CURLINFO_SIZE_DOWNLOAD_T</a></code></strong>,
        <strong><code><a href="curl.constants.php#constant.curlinfo-size-upload-t">CURLINFO_SIZE_UPLOAD_T</a></code></strong>,
        <strong><code><a href="curl.constants.php#constant.curlinfo-speed-download-t">CURLINFO_SPEED_DOWNLOAD_T</a></code></strong>,
        <strong><code><a href="curl.constants.php#constant.curlinfo-speed-upload-t">CURLINFO_SPEED_UPLOAD_T</a></code></strong>,
        <strong><code><a href="curl.constants.php#constant.curlinfo-appconnect-time-t">CURLINFO_APPCONNECT_TIME_T</a></code></strong>,
        <strong><code><a href="curl.constants.php#constant.curlinfo-connect-time-t">CURLINFO_CONNECT_TIME_T</a></code></strong>,
        <strong><code><a href="curl.constants.php#constant.curlinfo-filetime-t">CURLINFO_FILETIME_T</a></code></strong>,
        <strong><code><a href="curl.constants.php#constant.curlinfo-namelookup-time-t">CURLINFO_NAMELOOKUP_TIME_T</a></code></strong>,
        <strong><code><a href="curl.constants.php#constant.curlinfo-pretransfer-time-t">CURLINFO_PRETRANSFER_TIME_T</a></code></strong>,
        <strong><code><a href="curl.constants.php#constant.curlinfo-redirect-time-t">CURLINFO_REDIRECT_TIME_T</a></code></strong>,
        <strong><code><a href="curl.constants.php#constant.curlinfo-starttransfer-time-t">CURLINFO_STARTTRANSFER_TIME_T</a></code></strong>,
        <strong><code><a href="curl.constants.php#constant.curlinfo-total-time-t">CURLINFO_TOTAL_TIME_T</a></code></strong> eingeführt.
       </td>
      </tr>

     </tbody>
    
   </table>

  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.curl-getinfo-examples">
  <h3 class="title">Beispiele</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Beispiel #1 <span class="function"><strong>curl_getinfo()</strong></span>-Beispiel</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">// Eine cURL-Ressource erstellen<br /></span><span style="color: #0000BB">$ch </span><span style="color: #007700">= </span><span style="color: #0000BB">curl_init</span><span style="color: #007700">(</span><span style="color: #DD0000">'http://www.example.com/'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// ausführen<br /></span><span style="color: #0000BB">curl_exec</span><span style="color: #007700">(</span><span style="color: #0000BB">$ch</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// prüfen, ob ein Fehler aufgetreten ist<br /></span><span style="color: #007700">if (!</span><span style="color: #0000BB">curl_errno</span><span style="color: #007700">(</span><span style="color: #0000BB">$ch</span><span style="color: #007700">)) {<br />  </span><span style="color: #0000BB">$info </span><span style="color: #007700">= </span><span style="color: #0000BB">curl_getinfo</span><span style="color: #007700">(</span><span style="color: #0000BB">$ch</span><span style="color: #007700">);<br />  echo </span><span style="color: #DD0000">'Es wurden '</span><span style="color: #007700">, </span><span style="color: #0000BB">$info</span><span style="color: #007700">[</span><span style="color: #DD0000">'total_time'</span><span style="color: #007700">], </span><span style="color: #DD0000">' Sekunden benötigt für eine Anfrage an '</span><span style="color: #007700">, </span><span style="color: #0000BB">$info</span><span style="color: #007700">[</span><span style="color: #DD0000">'url'</span><span style="color: #007700">], </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
  <p class="para">
   <div class="example" id="example-2">
    <p><strong>Beispiel #2 <span class="function"><strong>curl_getinfo()</strong></span>-Beispiel mit dem Parameter <code class="parameter">option</code></strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">// Eine cURL-Ressource erstellen<br /></span><span style="color: #0000BB">$ch </span><span style="color: #007700">= </span><span style="color: #0000BB">curl_init</span><span style="color: #007700">(</span><span style="color: #DD0000">'http://www.example.com/'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// ausführen<br /></span><span style="color: #0000BB">curl_exec</span><span style="color: #007700">(</span><span style="color: #0000BB">$ch</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// HTTP-Status-Code prüfen<br /></span><span style="color: #007700">if (!</span><span style="color: #0000BB">curl_errno</span><span style="color: #007700">(</span><span style="color: #0000BB">$ch</span><span style="color: #007700">)) {<br />  switch (</span><span style="color: #0000BB">$http_code </span><span style="color: #007700">= </span><span style="color: #0000BB">curl_getinfo</span><span style="color: #007700">(</span><span style="color: #0000BB">$ch</span><span style="color: #007700">, </span><span style="color: #0000BB">CURLINFO_HTTP_CODE</span><span style="color: #007700">)) {<br />    case </span><span style="color: #0000BB">200</span><span style="color: #007700">:  </span><span style="color: #FF8000"># OK<br />      </span><span style="color: #007700">break;<br />    default:<br />      echo </span><span style="color: #DD0000">'Unerwarteter HTTP-Code: '</span><span style="color: #007700">, </span><span style="color: #0000BB">$http_code</span><span style="color: #007700">, </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />  }<br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
 </div>


 <div class="refsect1 notes" id="refsect1-function.curl-getinfo-notes">
  <h3 class="title">Anmerkungen</h3>
  <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
   <p class="para">
    Informationen, die mit dieser Funktion gesammelt wurden, bleiben erhalten,
    wenn das Handle wiederverwendet wird. Das bedeutet, dass außer wenn eine
    Statistik intern von dieser Funktion überschrieben wird, die vorherige Info
    zurückgegeben wird.
   </p>
  </p></blockquote>
 </div>


</div><?php manual_footer($setup); ?>