利用fsockopen可实现异步成功访问
2016-04-21 16:04
411 查看
$fp = fsockopen("www.jb51.net", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno) ";
} else {
$out = "get / http/1.1 ";
$out .= "host: www.jb51.net";
$out .= "connection: close ";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
说明:
如果安装了OpenSSL,那么你也许应该在你的主机名地址前面添加访问协议ssl://或者是tls://,从而可以使用基于TCP/IP协议的SSL或者TLS的客户端连接到远程主机。
端口号。如果对该参数传一个-1,则表示不使用端口,例如unix://。
如果传入了该参数,holds the system level error number that occurred in the system-level connect() call。
如果
错误信息将以字符串的信息返回。
设置连接的时限,单位为秒。
if (!$fp) {
echo "$errstr ($errno) ";
} else {
$out = "get / http/1.1 ";
$out .= "host: www.jb51.net";
$out .= "connection: close ";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
说明:
resource fsockopen ( string $hostname
[, int $port
= -1 [, int &$errno
[, string &$errstr
[, float $timeout
= ini_get("default_socket_timeout") ]]]] )
hostname
如果安装了OpenSSL,那么你也许应该在你的主机名地址前面添加访问协议ssl://或者是tls://,从而可以使用基于TCP/IP协议的SSL或者TLS的客户端连接到远程主机。port
端口号。如果对该参数传一个-1,则表示不使用端口,例如unix://。errno
如果传入了该参数,holds the system level error number that occurred in the system-level connect() call。如果
errno的返回值为0,而且这个函数的返回值为
FALSE,那么这表明该错误发生在套接字连接(connect())调用之前,导致连接失败的原因最大的可能是初始化套接字的时候发生了错误。
errstr
错误信息将以字符串的信息返回。timeout
设置连接的时限,单位为秒。
相关文章推荐
- Shell脚本的几种字符串子串获取
- Linux iptables防火墙实用模板
- 使用GoAccess分析Nginx日志以及sed/awk手动分析实践
- 基于 OSG OpenSceneGraph HTC Vive 的实现
- Hibernate 中的attachDirty,attachClean,merge,findByProperty和findByExample
- select option 右对齐
- java爬虫webmagic 案例爬取动态(ajax+js) 网站京东售价格项目pom.xml
- OpenCV源码中的缩写词全称积累!
- linux设备树dts移植详解
- TomCat的工作原理和端口理解
- 在Naoqi中使用OpenCV
- 编写Linux脚本
- 一些常用的linux命令
- OpenCV中CV_IS_MAT_CONT(src->type & dst->type) 的含义!
- linux内核调试工具Kprobes
- 在CentOS系统上从零开始搭建WordPress博客的全流程记录
- Nginx 下配置SSL证书的方法
- nginx(Window下安装 & 配置文件参数说明 & 实例)
- AVAYA AEP运维之日志收集总结
- Tomcat使用数据源(JNDI/直接使用)