php源码 fsockopen获取网页内容实例详解

PHP fsockopen函数说明:

Open Internet or Unix domain socket connection(打开套接字链接)

Initiates a socket connection to the resource specified by target .

fsockopen() returns a file pointer which may be used together with the other file functions (such as fgets() , fgetss() , fwrite() , fclose() , and feof() ).就是返回一个文件句柄

开启PHP fsockopen这个函数

PHP fsockopen需要 PHP.ini 中 allow_url_fopen 选项开启。

使用fsockopen获取网页内容

具体源代码如下:

<?php $host = "www.manongjc.com"; $page = "/index.htm"; $fp = fsockopen( "$host", 80, $errno, $errdesc ); if ( ! $fp ) { die ( "Couldn't connect to $host:\nError: $errno\nDesc: $errdesc\n" ); } $request = "GET $page HTTP/1.0\r\n"; $request .= "Host: $host\r\n"; $request .= "Referer: http://www.manongjc.com/page.html\r\n"; $request .= "User-Agent: PHP test client\r\n\r\n"; $page = array(); fputs ( $fp, $request ); while ( ! feof( $fp ) ) { $page[] = fgets( $fp, 1024 ); } fclose( $fp ); print "the server returned ".(count($page))." lines!"; ?>

以上就是php源码 fsockopen获取网页内容实例详解的知识,有需要的小伙伴可以参考下,谢谢大家对本站的支持!

时间: 2024-09-11 00:33:29

php源码 fsockopen获取网页内容实例详解的相关文章

php源码 fsockopen获取网页内容实例详解_php实例

PHP fsockopen函数说明: Open Internet or Unix domain socket connection(打开套接字链接) Initiates a socket connection to the resource specified by target . fsockopen() returns a file pointer which may be used together with the other file functions (such as fgets(

搭建Tomcat 8源码开发环境的步骤详解_Tomcat

前言 最近在网上搜索了很多关于tomcat源码环境搭建的文章,发现按照文章的步骤,几乎都启动不了,于是自己尝试搭建,下面是搭建的方法. 基础环境搭建 1.下载tomcat源代码,我这里是通过svn的方式下载的,svn下载地址 2.下载安装maven工具,这里我就不多说了,安装说明太多了,自己网上找. 3.IDE,我这里使用idea 生成maven工程 我的代码本地目录是: /Users/helanzhou/Documents/helanzhou/java/Tomcat/tomcat8/tomca

Android全局获取Context实例详解

Android全局获取Context实例详解 在弹出Toast 启动活动 发送广播 操作数据库 使用通知等等时都需要Context 如果操作在活动中进行是很简单的,因为活动本身就是一个Context对象 但是当逻辑代码脱离了Activity类,此时使用Context就需要一些技巧了: 我们可以定制一个自己的Application类,以便管理程序内一些全局状态信息,比如全局Context 代码如下: public class MyApplication extends Application{ p

java 源码分析Arrays.asList方法详解_java

最近,抽空把java Arrays 工具类的asList 方法做了源码分析,在网上整理了相关资料,记录下来,希望也能帮助读者! Arrays工具类提供了一个方法asList, 使用该方法可以将一个变长参数或者数组转换成List . 其源代码如下: /** * Returns a fixed-size list backed by the specified array. (Changes to * the returned list "write through" to the arr

Android源码中的目录结构详解_Android

Android 2.1 |-- Makefile |-- bionic                        (bionic C库) |-- bootable                (启动引导相关代码) |-- build                        (存放系统编译规则及generic等基础开发包配置) |-- cts                        (Android兼容性测试套件标准) |-- dalvik                    

Android源码中的目录结构详解

Android 2.1 |-- Makefile |-- bionic                        (bionic C库) |-- bootable                (启动引导相关代码) |-- build                        (存放系统编译规则及generic等基础开发包配置) |-- cts                        (Android兼容性测试套件标准) |-- dalvik                    

linux下的mysql安装(详细rpm、源码以及二进制版本安装)详解

Linux下的mysql安装 一.mysql 的版本 1.二进制版 2.源码版 名字中含有hrc作为标识 =============================================== 第一部分:yum安装 1.配置yum源  代码如下 复制代码 [repo] name=repo baseurl=ftp://update:update@10.1.1.1/Server enabled=1 gpgcheck=0 2. rpm 安装需要安装的软件  代码如下 复制代码 mysql.i6

Android源码解析之属性动画详解

前言 大家在日常开发中离不开动画,属性动画更为强大,我们不仅要知道如何使用,更要知道他的原理.这样,才能得心应手.那么,今天,就从最简单的来说,了解下属性动画的原理. ObjectAnimator .ofInt(mView,"width",100,500) .setDuration(1000) .start(); ObjectAnimator#ofInt 以这个为例,代码如下. public static ObjectAnimator ofInt(Object target, Stri

spark源码系列文章------shuffle模块详解

一.Basic shuffle writer实现解析 在Executor上执行shuffle Map Task时,最终会调用shuffleMapTask的runTask,核心逻辑如下: 1.从sparkEnv中获得shuffleManager: 2.从manager中获得writer 3.调用RDD开始计算,运算结果通过writer进行持久化,持久化之前通过Aggregator来确定是否需要进行Map端聚合,然后将结果通过FileShuffleManager#forMapTask的方法写入,写入