Heim Backend-Entwicklung PHP-Tutorial php CURL 采集有关问题-

php CURL 采集有关问题-

Jun 13, 2016 am 10:33 AM
curl float gt quot

php CURL 采集问题---请指教
PHP代码
 

PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->      <?php function Curl_http($array,$timeout){    $res = array();    $mh = curl_multi_init();//创建多个curl语柄    $startime = getmicrotime();    foreach($array as $k=>$url){        $conn[$k]=curl_init($url);        curl_setopt($conn[$k], CURLOPT_TIMEOUT, $timeout);//设置超时时间        curl_setopt($conn[$k], CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');        curl_setopt($conn[$k], CURLOPT_MAXREDIRS, 7);//HTTp定向级别        curl_setopt($conn[$k], CURLOPT_HEADER, 0);//这里不要header,加块效率        curl_setopt($conn[$k], CURLOPT_FOLLOWLOCATION, 1); // 302 redirect        curl_setopt($conn[$k],CURLOPT_RETURNTRANSFER,1);        curl_multi_add_handle ($mh,$conn[$k]);    }     //防止死循环耗死cpu 这段是根据网上的写法        do {            $mrc = curl_multi_exec($mh,$active);//当无数据,active=true        } while ($mrc == CURLM_CALL_MULTI_PERFORM);//当正在接受数据时        while ($active and $mrc == CURLM_OK) {//当无数据时或请求暂停时,active=true            if (curl_multi_select($mh) != -1) {                do {                    $mrc = curl_multi_exec($mh, $active);                } while ($mrc == CURLM_CALL_MULTI_PERFORM);            }        }    foreach ($array as $k =&gt; $url) {          curl_error($conn[$k]);          $res[$k]=curl_multi_getcontent($conn[$k]);//获得返回信息          $header[$k]=curl_getinfo($conn[$k]);//返回头信息          curl_close($conn[$k]);//关闭语柄          curl_multi_remove_handle($mh  , $conn[$k]);   //释放资源         }                 curl_multi_close($mh);        $endtime = getmicrotime();        $diff_time = $endtime - $startime;        return array('diff_time'=&gt;$diff_time,               'return'=&gt;$res,                'header'=&gt;$header        );} //计算当前时间 function getmicrotime() {list($usec, $sec) = explode(" ",microtime());        return ((float)$usec + (float)$sec);}    //测试一下,curl 1个网址$array = array("http://www.120ask.com/keshi.asp?c=69&amp;a=&amp;l=0&amp;p=1",); $data = Curl_http($array,'1');//调用 var_dump($data);//输出?&gt;  
Nach dem Login kopieren


libeay32.dll, ssleay32.dll, php5ts.dll, php_curl.dll都拷贝到system32目录下,重启apache

PHP.ini 开启了 CURL

但是还是不行 错误提示我

Fatal error: Call to undefined function curl_multi_init() in D:\wamp\www\caiji\caiji.php on line 4

------解决方案--------------------
phpinfo();看看有没有curl,如果没有说明你根本没有开启成功(extension=php_curl.dll)
------解决方案--------------------
那你路劲没设置对,在试试~~
------解决方案--------------------
你看看你phpinfo()里面的php配置文件是你修改的那个吗?例如你把mysql模块关闭了在打开phpinfo()看看mysql模块是否开启,如果依然开启,那么说明你所用的php配置文件并不是你所修改的那个
------解决方案--------------------
标题党.
------解决方案--------------------
php CURL 采集问题---请指教
你应该问:
curl安装不成功---请指教



重启过apache吗,杀死过php-cgi吗。
------解决方案--------------------
这个可以用。
PHP code
array(3) { ["diff_time"]=&gt; float(1.0497448444366) ["return"]=&gt; array(1) { [0]=&gt; NULL } ["header"]=&gt; array(1) { [0]=&gt; array(20) { ["url"]=&gt; string(47) "http://www.120ask.com/keshi.asp?c=69&amp;a=&amp;l=0&amp;p=1" ["content_type"]=&gt; NULL ["http_code"]=&gt; int(0) ["header_size"]=&gt; int(0) ["request_size"]=&gt; int(0) ["filetime"]=&gt; int(-1) ["ssl_verify_result"]=&gt; int(0) ["redirect_count"]=&gt; int(0) ["total_time"]=&gt; float(1) ["namelookup_time"]=&gt; float(1) ["connect_time"]=&gt; float(0) ["pretransfer_time"]=&gt; float(0) ["size_upload"]=&gt; float(0) ["size_download"]=&gt; float(0) ["speed_download"]=&gt; float(0) ["speed_upload"]=&gt; float(0) ["download_content_length"]=&gt; float(-1) ["upload_content_length"]=&gt; float(-1) ["starttransfer_time"]=&gt; float(0) ["redirect_time"]=&gt; float(0) } } }<div class="clear">
                 
              
              
        
            </div>
Nach dem Login kopieren
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was sind die Unterschiede zwischen Huawei GT3 Pro und GT4? Was sind die Unterschiede zwischen Huawei GT3 Pro und GT4? Dec 29, 2023 pm 02:27 PM

Was sind die Unterschiede zwischen Huawei GT3 Pro und GT4?

So realisieren Sie die gegenseitige Konvertierung zwischen CURL- und Python-Anfragen in Python So realisieren Sie die gegenseitige Konvertierung zwischen CURL- und Python-Anfragen in Python May 03, 2023 pm 12:49 PM

So realisieren Sie die gegenseitige Konvertierung zwischen CURL- und Python-Anfragen in Python

Tutorial zum Aktualisieren der Curl-Version unter Linux! Tutorial zum Aktualisieren der Curl-Version unter Linux! Mar 07, 2024 am 08:30 AM

Tutorial zum Aktualisieren der Curl-Version unter Linux!

Was ist der maximale Float-Wert? Was ist der maximale Float-Wert? Oct 11, 2023 pm 05:54 PM

Was ist der maximale Float-Wert?

PHP8.1 veröffentlicht: Einführung von Curl für die gleichzeitige Verarbeitung mehrerer Anfragen PHP8.1 veröffentlicht: Einführung von Curl für die gleichzeitige Verarbeitung mehrerer Anfragen Jul 08, 2023 pm 09:13 PM

PHP8.1 veröffentlicht: Einführung von Curl für die gleichzeitige Verarbeitung mehrerer Anfragen

Fix: Snipping-Tool funktioniert unter Windows 11 nicht Fix: Snipping-Tool funktioniert unter Windows 11 nicht Aug 24, 2023 am 09:48 AM

Fix: Snipping-Tool funktioniert unter Windows 11 nicht

Von Anfang bis Ende: So verwenden Sie die PHP-Erweiterung cURL, um HTTP-Anfragen zu stellen Von Anfang bis Ende: So verwenden Sie die PHP-Erweiterung cURL, um HTTP-Anfragen zu stellen Jul 29, 2023 pm 05:07 PM

Von Anfang bis Ende: So verwenden Sie die PHP-Erweiterung cURL, um HTTP-Anfragen zu stellen

Was ist Linux Curl? Was ist Linux Curl? Apr 20, 2023 pm 05:05 PM

Was ist Linux Curl?

See all articles