Rumah >pembangunan bahagian belakang >masalah PHP >Apa yang perlu dilakukan jika output php curl tidak lengkap
Penyelesaian untuk output php curl yang tidak lengkap: 1. Buka fail kod PHP yang sepadan 2. Tambahkan konfigurasi sebagai "curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));"; kaedah enkapsulasi ialah "function req_curl($url, &$status = null, $options = array()){...}".
Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer Dell G3.
output curl php tidak lengkap? PHP mendapat data tetapi curl menjadi tidak lengkap?
Oleh kerana pustaka PHP CURL mempunyai panjang lalai 1024 bait dan tidak menunggu data dikembalikan, jadi kod anda perlu menambah konfigurasi:
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));
Beri anda lebih banyak pakej komprehensif Kaedah:
function req_curl($url, &$status = null, $options = array()) { $res = ''; $options = array_merge(array( 'follow_local' => true, 'timeout' => 30, 'max_redirects' => 4, 'binary_transfer' => false, 'include_header' => false, 'no_body' => false, 'cookie_location' => dirname(__FILE__) . '/cookie', 'useragent' => 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1', 'post' => array() , 'referer' => null, 'ssl_verifypeer' => 0, 'ssl_verifyhost' => 0, 'headers' => array( 'Expect:' ) , 'auth_name' => '', 'auth_pass' => '', 'session' => false ) , $options); $options['url'] = $url; $s = curl_init(); if (!$s) return false; curl_setopt($s, CURLOPT_URL, $options['url']); curl_setopt($s, CURLOPT_HTTPHEADER, $options['headers']); curl_setopt($s, CURLOPT_SSL_VERIFYPEER, $options['ssl_verifypeer']); curl_setopt($s, CURLOPT_SSL_VERIFYHOST, $options['ssl_verifyhost']); curl_setopt($s, CURLOPT_TIMEOUT, $options['timeout']); curl_setopt($s, CURLOPT_MAXREDIRS, $options['max_redirects']); curl_setopt($s, CURLOPT_RETURNTRANSFER, true); curl_setopt($s, CURLOPT_FOLLOWLOCATION, $options['follow_local']); curl_setopt($s, CURLOPT_COOKIEJAR, $options['cookie_location']); curl_setopt($s, CURLOPT_COOKIEFILE, $options['cookie_location']); if (!empty($options['auth_name']) && is_string($options['auth_name'])) { curl_setopt($s, CURLOPT_USERPWD, $options['auth_name'] . ':' . $options['auth_pass']); } if (!empty($options['post'])) { curl_setopt($s, CURLOPT_POST, true); curl_setopt($s, CURLOPT_POSTFIELDS, $options['post']); //curl_setopt($s, CURLOPT_POSTFIELDS, array('username' => 'aeon', 'password' => '111111')); } if ($options['include_header']) { curl_setopt($s, CURLOPT_HEADER, true); } if ($options['no_body']) { curl_setopt($s, CURLOPT_NOBODY, true); } if ($options['session']) { curl_setopt($s, CURLOPT_COOKIESESSION, true); curl_setopt($s, CURLOPT_COOKIE, $options['session']); } curl_setopt($s, CURLOPT_USERAGENT, $options['useragent']); curl_setopt($s, CURLOPT_REFERER, $options['referer']); $res = curl_exec($s); $status = curl_getinfo($s, CURLINFO_HTTP_CODE); curl_close($s); return $res; }
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Apa yang perlu dilakukan jika output php curl tidak lengkap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!