Heim > Artikel > Backend-Entwicklung > PHP verwendet CURL, um auf die Remote-URL zuzugreifen, und es tritt ein Fehler auf: Header-Informationen können nicht geändert werden ...
Curl-Code:
<code> $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); //请求URL curl_setopt($ch, CURLOPT_HEADER, 0); //禁止输出头部信息 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //获取信息以文件流的格式返回 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); if( !is_null($postData) ){ curl_setopt($ch, CURLOPT_POST, 1); //POST提交 curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); } $return = curl_exec($ch); curl_close($ch); return $return;</code>
Es ist ein Fehler aufgetreten:
<code>Cannot modify header information - headers already sent by...</code>
Beim Zugriff auf die URL direkt im Browser sind keine Fehler aufgetreten.
Ich habe auch im Internet nach Lösungen für die oben genannten Probleme gesucht. Die meisten davon beinhalten das Ändern von PHP-Dateien oder das Ändern von PHP-Konfigurationen. . . Aber meine Idee ist, CURL zu verwenden, um den gleichen Effekt wie beim Browserzugriff zu erzielen? Wie erreicht man das? Da beim Durchsuchen auf diese URL zugegriffen wird, wird kein Fehler generiert.
Curl-Code:
<code> $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); //请求URL curl_setopt($ch, CURLOPT_HEADER, 0); //禁止输出头部信息 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //获取信息以文件流的格式返回 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); if( !is_null($postData) ){ curl_setopt($ch, CURLOPT_POST, 1); //POST提交 curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); } $return = curl_exec($ch); curl_close($ch); return $return;</code>
Es ist ein Fehler aufgetreten:
<code>Cannot modify header information - headers already sent by...</code>
Beim Zugriff auf die URL direkt im Browser sind keine Fehler aufgetreten.
Ich habe auch im Internet nach Lösungen für die oben genannten Probleme gesucht. Die meisten davon beinhalten das Ändern von PHP-Dateien oder das Ändern von PHP-Konfigurationen. . . Aber meine Idee ist, CURL zu verwenden, um den gleichen Effekt wie beim Browserzugriff zu erzielen? Wie erreicht man das? Da beim Durchsuchen auf diese URL zugegriffen wird, wird kein Fehler generiert.
Sie benötigen eine Bibliothek, die Curl kapselt
Ich habe Stackoverflow überprüft. Vielleicht hat Ihre Dateikodierung einen BOM-Header.
Versuchen Sie, die Kodierung auf UTF-8 ohne BOM-Format zu ändern.