php使用fsockopen函数发送post,get请求获取网页内容的方法
2015-01-24信息快讯网
这篇文章主要介绍了php使用fsockopen函数发送post,get请求获取网页内容的方法,是PHP关于socket编程的一个典型应用,需要的朋友可以参考下
本文实例讲述了php使用fsockopen函数发送post,get请求获取网页内容的方法。分享给大家供大家参考。
具体实现代码如下:
$post =1; $url = parse_url($url); $host ='http://www.jb51.net'; $path ='/'; $query ='?action=phpfensi.com'; $port =80; if($post) { $out = "post $path http/1.0 "; $out .= "accept: */* "; //$out .= "referer: $boardurl "; $out .= "accept-language: zh-cn "; $out .= "content-type: application/x-www-form-urlencoded "; $out .= "user-agent: $_server[http_user_agent] "; $out .= "host: $host "; $out .= 'content-length: '.strlen($post)." "; $out .= "connection: close "; $out .= "cache-control: no-cache "; $out .= "cookie: $cookie "; $out .= $post; } else { $out = "get $path http/1.0 "; $out .= "accept: */* "; //$out .= "referer: $boardurl "; $out .= "accept-language: zh-cn "; $out .= "user-agent: $_server[http_user_agent] "; $out .= "host: $host "; $out .= "connection: close "; $out .= "cookie: $cookie "; } $fp = @fsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout); if(!$fp) { return '';//note $errstr : $errno } else { return '成功访问'; }
fsockopen语法:
resource fsockopen(string $hostname [,int $port = -1 [, int &$errno [,string &$errstr [, float $timeout = ini_get("default_socket_timeout") ]]]] )
启动一个套接字连接到指定的主机的资源,php支持在互联网领域的目标和unix在所支持的套接字传输列表说明,所支持的传输列表也可以检索使用stream_get_transports().
该插座预设会被启用,阻塞模式,你可以切换到非阻塞模式使用stream_set_blocking(),如果上面实例看不懂,就来看个简的吧,代码如下:
$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); }
希望本文所述对大家的PHP程序设计有所帮助。
ucenter通信原理分析
PHP中new static() 和 new self() 的区别介绍
php的ddos攻击解决方法
Zend Guard使用指南及问题处理
php中$_POST与php://input的区别实例分析
php中fsockopen用法实例
为PHP5.4开启Zend OPCode缓存
php连接与操作PostgreSQL数据库的方法
PHP_SELF,SCRIPT_NAME,REQUEST_URI区别
CentOS6.5 编译安装lnmp环境
phpmyadmin提示The mbstring extension is missing的解决方法
smarty中post用法实例
使用PHP Socket 编程模拟Http post和get请求
ThinkPHP中I(),U(),$this->post()等函数用法
php格式输出文件var_export函数实例
php函数与传递参数实例分析
php中strtotime函数用法详解
php中opendir函数用法实例
php中substr()函数参数说明及用法实例
php判断类是否存在函数class_exists用法分析
php使用ob_start()实现图片存入变量的方法
php使用date和strtotime函数输出指定日期的方法
php 使用file_get_contents读取大文件的方法
PHP使用json_encode函数时不转义中文的解决方法
php下foreach提示Warning:Invalid argument supplied for foreach()的解决方法
PHP基于CURL进行POST数据上传实例
ci检测是ajax还是页面post提交数据的方法
php采用ajax数据提交post与post常见方法总结
推荐一款MAC OS X 下php集成开发环境mamp
php中file_get_contents与curl性能比较分析
php以post形式发送xml的方法
php中$_GET与$_POST过滤sql注入的方法