代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
PHP
】
php HTTP请求
作者:
freespider
/ 发布于
2013/12/16
/
468
function request($host) { $url = parse_url($host); $port = !empty($url['port']) ? $url['port'] : 80; $query = !empty($url['query']) ? sprintf('?%s', $url['query']) : null; $path = !empty($url['path']) ? $url['path'] : '/index.php'; $request = $path . $query; $fp = fsockopen($url['host'], $port, $errno, $errstr, 30); $out = null; if (!$fp) { echo "$errstr ($errno)\n"; } else { $out .= sprintf("GET %s HTTP/1.1%s", $request, chr(10)); $out .= "User-Agent:Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36\r\n"; $out .= sprintf("Host:%s%s", $url['host'], "\r\n"); $out .= "Connection: Close\r\n\r\n"; fwrite($fp, $out); $data = stream_get_contents($fp); fclose($fp); } $pos = strpos($data, "\r\n\r\n"); $head = substr($data, 0, $pos); //http head $status = substr($head, 0, strpos($head, "\r\n")); //http status line $body = substr($data, $pos + 4, strlen($data) - ($pos + 4)); //page body if (preg_match("/^HTTP\/\d\.\d\s([\d]+)\s.*$/", $status, $matches)) { if (intval($matches[1]) / 100 == 2) { return unchunk($body); } else { return false; } } else { return false; } /** preg_match('/<\s*(\S+)(\s[^>]*)?>[\s\S]*<\s*\/\1\s*>/i', $data, $html);*/ } function unchunk($result) { return preg_replace_callback('/(?:(?:\r\n|\n)|^)([0-9A-F]+)(?:\r\n|\n){1,2}(.*?)' . '((?:\r\n|\n)(?:[0-9A-F]+(?:\r\n|\n))|$)/si', create_function('$matches', 'return hexdec($matches[1]) == strlen($matches[2]) ? $matches[2] : $matches[0];'), $result); }
试试其它关键字
HTTP请求
同语言下
.
用net匹配并替换iOS标准的emoji表情符号
.
处理带Emoji表情的的字符串
.
获取微信昵称时 过滤特殊字符
.
通过判断上传文件的头字符来判断文件的类型
.
模拟百度URL加密解密算法
.
以太坊检查地址是否合法
.
实现crontab解析类
.
获取每个月的开始和结束时间
.
图片上传工具类
.
APP手机应用信息采集
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
freespider
贡献的其它代码
(
22
)
.
javascript控制不同行不同颜色
.
点击外部链接, 让iframe父页面也跟着显示
.
iFrame 自适应高度
.
让文字左右对齐
.
替换函数replace()实现mysql 替换字符串
.
安静删除服务器超级多的文件,有的文件夹文件过多而不
.
css开头的全局标准代码
.
apache 80端口未被占用,启动不了的问题
.
php修改排序,上移下移
.
获取网卡的MAC地址原码;目前支持WIN/LINUX系统 获取
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3