摘要: 在前面的例子中,HTTP请求信息头有些指定了 HTTP 1.1,有些指定了 HTTP/1.0,有些又没有指定,那么他们之间有什么区别呢? 关于HTTP 1.1与HTTP 1.0的一些基本情况,可以参考下 HTTP 1.1的详细介绍 。 我们先来看一下 fsockopen 不指定 HTTP 的情况: 阅读全文
posted @ 2017-06-01 09:02 壁虎漫步. 阅读(352) 评论(0) 推荐(0) 编辑
摘要: 在开发过程中常常遇到这样的需求,模拟浏览器访问某接口,并获取返回数据。我们比较常使用的方法是fsockopen与接口建立连接,然后发出指令,然后通过fgets接受返回值。 但是我们发现,通过PHP模拟访问接口往往比浏览器访问同样的接口慢很多。这个问题困扰过我很久,今天终于找到原因了。我看网上很多朋友 阅读全文
posted @ 2017-06-01 08:59 壁虎漫步. 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 在前面三个例子中,都有这么一段代码: PHP 的 feof() 函数用于检测是否已到达文件末尾 (eof)。如果文件指针到了 EOF 或者出错时则返回 TRUE,否则返回一个错误(包括 socket 超时),其它情况则返回 FALSE。 while (!feof($fp)) 即当文件指针没有达到 E 阅读全文
posted @ 2017-06-01 08:58 壁虎漫步. 阅读(669) 评论(0) 推荐(0) 编辑
摘要: fsockopen 的功能很强大,比如前面模拟 HTTP 访问,模拟 POST/GET 请求,什么的,这里再举一个例子,那就是下载东西。比如下载 http://www.nowamagic.net//librarys/webapp/Snow.zip 这个文件,用下面的程序就能实现: 执行程序,你会发现 阅读全文
posted @ 2017-06-01 08:57 壁虎漫步. 阅读(366) 评论(0) 推荐(0) 编辑
摘要: fsockopen 是一个非常强大的函数,支持socket编程,可以使用fsockopen实现邮件发送等socket程序等等,使用fcockopen需要自己手动拼接出header部分。具体可以参考官方文档: http://cn2.php.net/fsockopen/。 fsockopen — Ope 阅读全文
posted @ 2017-06-01 08:56 壁虎漫步. 阅读(721) 评论(0) 推荐(0) 编辑