function get_content_by_socket($url){ $url = eregi_replace('^http://', '', $url);$temp = explode('/', $url);$host = array_shift($temp);$url = ''.implode('/', $temp);$temp = explode(':', $host);$host = $temp[0];$port = isset($temp[1]) ? $temp[1] : 80;//echo $url;//echo $host; $fp = fsockopen($host, 80) or die("Open ". $url ." failed"); $header = "GET /".$url ." HTTP/1.1\r\n"; $header .= "Accept: */*\r\n"; $header .= "Accept-Language: zh-cn\r\n"; $header .= "Accept-Encoding: gzip, deflate\r\n"; $header .= "If-Modified-Since: Tue, 06 Apr 2010 07:56:03 GMT; length=2235\r\n"; $header .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; GTB6.4)\r\n"; $header .= "Host: ". $host ."\r\n"; $header .= "Referer: http://video.baidu.com/v?word=11&ct=301989888&rn=20&pn=0&db=0&s=0&fbl=800\r\n"; //fputs($content, "Referer: $domainrn");//伪造部分 $header .= "Connection: Keep-Alive\r\n"; $header .= "Cookie: BAIDUID=5F96971273579588527A980F307E8B7A:FG=1\r\n\r\n"; //$header .= "Connection: Close\r\n\r\n"; fwrite($fp, $header); while (!feof($fp)) { $contents .= fgets($fp, 8192); } fclose($fp); return $contents; }
函数可以正常使用 但是取图的速度非常慢
而且当同时取三到四张时就一张也取不到
回复讨论(解决方案)
能运行就表示没有错了,运行慢可能与网络有关
就函数本身而言:
eregi_replace 已经列在废止系列中,应改用 preg_replace
php 提供有 parse_url 函数,用于分析 url。不再需要用字符串函数和数组函数自己处理
百度的图片有防盗链保护,你发送固定的 cookie 似乎是不对的
能运行就表示没有错了,运行慢可能与网络有关
就函数本身而言:
eregi_replace 已经列在废止系列中,应改用 preg_replace
php 提供有 parse_url 函数,用于分析 url。不再需要用字符串函数和数组函数自己处理
百度的图片有防盗链保护,你发送固定的 cookie 似乎是不对的
之前我可能关闭了这行
//$header .= "Connection: Close\r\n\r\n";
然后我开启这行之后 速度快了很多
不过还是有问题 比如以下开启 四五张 所有的都是获取到的事147K的文件 是不是百度服务器限制
你给几个要取的图片的url,我测试一下
你给几个要取的图片的url,我测试一下
函数没问题了
自己的一些小错误 造成的 谢谢版主~

DependencyInjection (DI) inphpenhancescodeflexabilityandtestabilitybydecouplingDependencyCreationFromusage.toImplementDieffectively: 1) UseIcontainersjudiciousytoavoavoidover-engineering.2) mengelakkan constructoLoadbylimitingdendenchreeorfour.3)

Toimproveyourphpwebsite'sperformance, usetheseStrategies: 1) pelaksanaanPodeCachingWithopcachetospeedupscriptinterpretation.2) OptimisedataBasequeriesqueriesSelectingOnlyNessaryFields.3)

Ya, itispossibletosendmassemailswithphp.1) uselibrarieshpmailerorswiftmailoreforefficientemailsending.2)

DependencyInjection (DI) inphpisadesignpatternTheevesinversionofControl (IOC) ByallowingdependencyestobeNectedIntoClasses, Enhancingmodularity, Testability, danFlexibility.DideDecouplassClassSesesesesSesesSesesSesesSesesSesesSesesspeciflementations, MakeCodemorAglementations, MakeCodemorAglementations, MakeCodemorAglementations, MakeCodemorAglementations, MakeCodemorAglementations, MakeCodemorAglementations, MakeCodemorAglementations, MakeCodemorAglementations, MakeCodemorAglemors, Maklumat

Cara terbaik untuk menghantar e -mel menggunakan PHP termasuk: 1. Gunakan fungsi mel () php untuk penghantaran asas; 2. Gunakan perpustakaan phpmailer untuk menghantar mel lebih kompleks HTML; 3. Gunakan perkhidmatan mel transaksional seperti SendGrid untuk meningkatkan keupayaan kebolehpercayaan dan analisis. Dengan kaedah ini, anda boleh memastikan bahawa e -mel bukan sahaja mencapai peti masuk, tetapi juga menarik penerima.

Mengira jumlah elemen dalam array multidimensi PHP boleh dilakukan dengan menggunakan kaedah rekursif atau berulang. 1. Kaedah rekursif dikira dengan melintasi array dan rekursif memproses susunan bersarang. 2. Kaedah berulang menggunakan timbunan untuk mensimulasikan rekursi untuk mengelakkan masalah kedalaman. 3. Fungsi Array_Walk_Recursive juga boleh dilaksanakan, tetapi ia memerlukan pengiraan manual.

Dalam PHP, ciri-ciri gelung do-sementara adalah untuk memastikan bahawa badan gelung dilaksanakan sekurang-kurangnya sekali, dan kemudian memutuskan sama ada untuk meneruskan gelung berdasarkan syarat-syarat. 1) Ia melaksanakan badan gelung sebelum pemeriksaan bersyarat, sesuai untuk senario di mana operasi perlu dilakukan sekurang -kurangnya sekali, seperti pengesahan input pengguna dan sistem menu. 2) Walau bagaimanapun, sintaks gelung do-sementara boleh menyebabkan kekeliruan di kalangan pemula dan boleh menambah overhead prestasi yang tidak perlu.

String hashing yang cekap dalam PHP boleh menggunakan kaedah berikut: 1. Gunakan fungsi MD5 untuk hashing cepat, tetapi tidak sesuai untuk penyimpanan kata laluan. 2. Gunakan fungsi SHA256 untuk meningkatkan keselamatan. 3. Gunakan fungsi password_hash untuk memproses kata laluan untuk menyediakan keselamatan dan kemudahan tertinggi.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

Dreamweaver CS6
Alat pembangunan web visual

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.
