大虾!帮我看看这个娶图函数到底出错在哪~
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,我测试一下
函数没问题了
自己的一些小错误 造成的 谢谢版主~

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

Laravel使用其直观的闪存方法简化了处理临时会话数据。这非常适合在您的应用程序中显示简短的消息,警报或通知。 默认情况下,数据仅针对后续请求: $请求 -

PHP客户端URL(curl)扩展是开发人员的强大工具,可以与远程服务器和REST API无缝交互。通过利用Libcurl(备受尊敬的多协议文件传输库),PHP curl促进了有效的执行

Laravel 提供简洁的 HTTP 响应模拟语法,简化了 HTTP 交互测试。这种方法显着减少了代码冗余,同时使您的测试模拟更直观。 基本实现提供了多种响应类型快捷方式: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

您是否想为客户最紧迫的问题提供实时的即时解决方案? 实时聊天使您可以与客户进行实时对话,并立即解决他们的问题。它允许您为您的自定义提供更快的服务

文章讨论了PHP 5.3中引入的PHP中的晚期静态结合(LSB),从而允许静态方法的运行时分辨率调用以获得更灵活的继承。 LSB的实用应用和潜在的触摸
