In PHP ist Curl eine sehr leistungsstarke Bibliothek, mit der Sie HTTP -Anforderungen auf der Serverseite initiieren, Funktionen wie Datenkriechen, API -Anrufe sowie Datei -Hochladen und Download implementieren können. Und
Der Funktionsprototyp lautet wie folgt:
<span><span>bool</span></span><span> </span><span><span class="function_ invoke__">curl_setopt</span></span> <span>(Ressource</span> <span><span>$ ch</span></span> <span>,</span> <span><span>int int</span></span><span> </span><span><span>$ option</span></span> <span>,</span> <span><span>gemischt</span></span><span> </span><span><span>$ value</span></span> <span>)
</span><ul><li><strong><span><span>$ ch</span></span><span></strong> : Curl Session -Handle, erhalten von <span class="fun"><a href="/de/php/curl_init .html" target="_blank">curl_init ()</a></span> Initialisierung.</li><li> <strong><span><span>$ option</span></span><span></strong> : Optionskonstanten zu setzen, wie <span class="fun">z. B. curlopt_url</span> , <span class="fun">curlopt_returntransfer</span> usw.</li><li> <strong><span><span>$ Wert</span></span><span></strong> : Der Wert, der der Option entspricht, kann je nach Option ein Boolean -Wert, eine Ganzzahl, eine Zeichenfolge oder ein Array sein.</li></ul><p> Der Rückgabewert ist ein boolescher Wert, und die Einstellung gibt <span class="fun">true</span> zurück, andernfalls gibt er <span class="fun">false</span> zurück.</p><h2> 2. Common Curl_Setopt -Optionen </h2><table border=</span> <span><span>"1"</span></span> <span>cellpadding =</span> <span><span>"5"</span></span> <span>></span><th> Optionen</th><th> Wirkung</th><th> Beispiel</th></tr><tr><td> Curlopt_url</td><td> Setzen Sie die angeforderte URL</td><td> <span class="fun">curl_setopt ($ ch, curlopt_url, "https://api.example.com");</span></td></tr><tr><td> Curlopt_returntransfer</td><td> Ob das Anforderungsergebnis als Zeichenfolge zurückgegeben werden soll, anstatt es direkt auszugeben</td><td> <span class="fun">curl_setopt ($ ch, curlopt_returntransfer, true);</span></td></tr><tr><td> Curlopt_Post</td><td> Ob Sie die Post -Methode verwenden möchten, um sie anzufordern</td><td> <span class="fun">curl_setopt ($ ch, curlopt_post, true);</span></td></tr><tr><td> Curlopt_postfields</td><td> Post angeforderte Daten</td><td> <span class="fun">curl_setopt ($ ch, curlopt_postfields, http_build_query ($ data));</span></td></tr><tr><td> Curlopt_httpheader</td><td> Benutzerdefinierte HTTP -Header</td><td> <span class="fun">curl_setopt ($ ch, curlopt_httpHeader, ["Content-Typ: application/json"]);</span></td></tr><tr><td> Curlopt_timeout</td><td> Legen Sie die Anfrage -Zeitüberschreitungszeit (Sekunden) fest (Sekunden)</td><td> <span class="fun">curl_setopt ($ ch, curlopt_timeout, 10);</span></td></tr></table><h2> 3. Tipps für die flexible Verwendung von curl_setopt</h2><ol><li> <strong>Erstellen Sie dynamisch ein Optionsarray:</strong> Sie können zuerst ein Optionsarray erstellen und dann durch die Schleife einstellen, damit der Code einfacher ist:</li><pre>
<span><span>$ options</span></span> <span>= [
Curlopt_url =></span> <span><span>"https://api.example.com"</span></span> <span>,
Curlopt_returntransfer =></span> <span><span>true</span></span> <span>,
Curlopt_timeout =></span> <span><span>15</span></span><span>
];
</span><span><span>$ ch</span></span> <span>=</span> <span><span class="function_ invoke__">curl_init</span></span> <span>();
</span><span><span>foreach</span></span> <span>(</span> <span><span>$ option</span></span><span> </span><span><span>als</span></span><span> </span><span><span>$ key</span></span> <span>=></span> <span><span>$ value</span></span> <span>) {
</span><span><span class="function_ invoke__">curl_setopt</span></span> <span>(</span> <span><span>$ ch</span></span> <span>,</span> <span><span>$ key</span></span> <span>,</span> <span><span>$ value</span></span> <span>);
}
</span><span><span>$ response</span></span> <span>=</span> <span><span class="function_ invoke__">curl_exec</span></span> <span>(</span> <span><span>$ ch</span></span> <span>);
</span><span><span class="function_ invoke__">curl_close</span></span> <span>(</span> <span><span>$ ch</span></span> <span>);
</span><li><strong>Wählen Sie Einstellungen gemäß dem Anforderungsart aus:</strong> Nehmen Sie die Anforderungen ab, müssen normalerweise nur die URL und den Rückgabewert festlegen, während Postanfragen das Feld und den Kopfzeilen festlegen müssen.</li><li> <strong>Fehlerbehandlung:</strong> curl_exec kann fehlschlagen, und Sie müssen <span class="fun"><a href="/de/php/curl_errno .html" target="_blank">Curl_errno</a></span> und <span class="fun"><a href="/de/php/curl_error .html" target="_blank">curl_error</a></span> verwenden, um die Fehlerinformationen zu erhalten.</li><pre>
<span><span>if</span></span> <span>(</span> <span><span class="function_ invoke__">curl_errno</span></span> <span>(</span> <span><span>$ ch</span></span> <span>)) {
</span><span><span>Echo</span></span><span> </span><span><span>"Curl -Fehler:"</span></span> <span>.</span> <span><span class="function_ invoke__">curl_error</span></span> <span>(</span> <span><span>$ ch</span></span> <span>);
}
</span><li><strong>Handhabung von HTTPS -Anforderungen:</strong> Wenn das Ziel HTTPS ist, muss manchmal die Zertifikatüberprüfung (Testumgebung) ausgeschaltet werden, gesteuert von <span class="fun">curlopt_ssl_verifypeer</span> und <span class="fun">curlopt_sl_verifyHost</span> .</li></ol><h2> 4. Praktisches Beispiel: Rufen Sie API an, um Daten zu erhalten</h2><pre>
<span><span>$ ch</span></span> <span>=</span> <span><span class="function_ invoke__">curl_init</span></span> <span>();
</span><span><span class="function_ invoke__">curl_setopt</span></span> <span>(</span> <span><span>$ ch</span></span> <span>, curlopt_url,</span> <span><span>"https://jsonplaceholder.typicode.com/posts/1"</span></span> <span>);
</span><span><span class="function_ invoke__">curl_setopt</span></span> <span>(</span> <span><span>$ ch</span></span> <span>, curlopt_returntransfer,</span> <span><span>true</span></span> <span>);
</span><span><span>$ response</span></span> <span>=</span> <span><span class="function_ invoke__">curl_exec</span></span> <span>(</span> <span><span>$ ch</span></span> <span>);
</span><span><span>if</span></span> <span>(</span> <span><span class="function_ invoke__">curl_errno</span></span> <span>(</span> <span><span>$ ch</span></span> <span>)) {
</span><span><span>Echo</span></span><span> </span><span><span>"Anfrage fehlgeschlagen:"</span></span> <span>.</span> <span><span class="function_ invoke__">curl_error</span></span> <span>(</span> <span><span>$ ch</span></span> <span>);
}</span> <span><span>anders</span></span> <span>{
</span><span><span>$ data</span></span> <span>=</span> <span><span class="function_ invoke__">json_decode</span></span> <span>(</span> <span><span>$ response</span></span> <span>,</span> <span><span>true</span></span> <span>);
</span><span><span>Echo</span></span><span> </span><span><span>"Titel:"</span></span> <span>.</span> <span><span>$ data</span></span> <span>[</span> <span><span>'title'</span></span> <span>].</span> <span><span>"\N"</span></span> <span>;
</span><span><span>Echo</span></span><span> </span><span><span>"Inhalt:"</span></span> <span>.</span> <span><span>$ data</span></span> <span>[</span> <span><span>'Body'</span></span> <span>].</span> <span><span>"\N"</span></span> <span>;
}
</span><span><span class="function_ invoke__">curl_close</span></span> <span>(</span> <span><span>$ ch</span></span> <span>);
</span><p>Mit dem obigen Beispiel sehen Sie die Flexibilität von <span class="fun">curl_setopt</span> , mit der Sie das Anforderungsverhalten genau steuern können, von grundlegenden GET -Anforderungen bis hin zu komplexen Beiträgen oder Anforderungen mit benutzerdefinierten Headern, die einfach implementiert werden können.</p><h2> 5. Zusammenfassung</h2><p> Das Beherrschen der Verwendung von <span class="fun">Curl_Setopt</span> ist eine wichtige Fähigkeit in der PHP -Netzwerkprogrammierung. Das Verständnis der Rolle jeder Option und das flexible Kombinieren nach dem tatsächlichen Szenario können Sie ermöglichen, verschiedene HTTP -Anforderungsvorgänge effizient und sicher zu implementieren. Es wird empfohlen, die Sensitivität und Kenntnisse für die Curl -Konfiguration nach und nach durch ständige Ausübung verschiedener Arten von Anforderungen zu ermitteln.</p> <span><span><?php</span></span><span>
</span><span><span>// Der folgende Inhalt hat nichts mit dem Haupttext des Artikels zu tun und wird nur als Endinhaber verwendet.</span></span><span>
</span><span><span>Echo</span></span><span> </span><span><span>"Der Artikel endet, danke fürs Lesen! \ N"</span></span> <span>;</span> <span><span>?></span></span><span>
</span></span></div></div>