使用PHP socke 向指定页面提交数据


Posted in PHP onJuly 23, 2008

在jquery里用 load post 等等,无法得到我想要的结果!于是突然-----这几天想的东西都白想了,现在只好这样了
现在想在php里面向指定的页面提交数据,应该有,还可以有返回值
于是找了这个函数,不过没有试,我想可以不知道空间能不能通得过
是村里拿来的! 

<?php 
/*----------------------------------------------------------- 
*功能:使用PHP socke 向指定页面提交数据 
* 
*作者:Honghe.c 
* 
*说明:post($url, $data) 
* 
*      $url    = 'https://3water.com'; 
*      $data[user] = 'hong'; 
*      $data[pass] = 'xowldo'; 
*      echo post($url, $data); 
*-----------------------------------------------------------*/ function post($url, $data) { 
    $url = parse_url($url); 
    if (!$url) return "couldn't parse url"; 
    if (!isset($url['port'])) { $url['port'] = ""; } 
    if (!isset($url['query'])) { $url['query'] = ""; } 
    $encoded = ""; 
    while (list($k,$v) = each($data)) { 
        $encoded .= ($encoded ? "&" : ""); 
        $encoded .= rawurlencode($k)."=".rawurlencode($v); 
    } 
    $fp = fsockopen($url['host'], $url['port'] ? $url['port'] : 80); 
    if (!$fp) return "Failed to open socket to $url[host]"; 
    fputs($fp, sprintf("POST %s%s%s HTTP/1.0n", $url['path'], $url['query'] ? "?" : "", $url['query'])); 
    fputs($fp, "Host: $url[host]n"); 
    fputs($fp, "Content-type: application/x-www-form-urlencodedn"); 
    fputs($fp, "Content-length: " . strlen($encoded) . "n"); 
    fputs($fp, "Connection: closenn"); 
    fputs($fp, "$encodedn"); 
    $line = fgets($fp,1024); 
    if (!eregi("^HTTP/1.. 200", $line)) return; 
    $results = ""; $inheader = 1; 
    while(!feof($fp)) { 
        $line = fgets($fp,1024); 
        if ($inheader && ($line == "n" || $line == "rn")) { 
        $inheader = 0; 
    } 
    elseif (!$inheader) { 
        $results .= $line; 
    } 
    } 
    fclose($fp); 
    return $results; 
} 
/* 
$url = 'http://video.xxx.com:80/game_vm.php'; 
$data['gid'] = '1'; 
echo post($url, $data); 
*/ 
?>
PHP 相关文章推荐
php面向对象全攻略 (十) final static const关键字的使用
Sep 30 PHP
在PHP中养成7个面向对象的好习惯
Jul 17 PHP
windows下开发并编译PHP扩展的方法
Mar 18 PHP
PHP判断远程url是否有效的几种方法小结
Oct 08 PHP
Codeigniter实现多文件上传并创建多个缩略图
Jun 12 PHP
使用PHPExcel操作Excel用法实例分析
Mar 26 PHP
php动态函数调用方法
May 21 PHP
Yii2增删改查之查询 where参数详细介绍
Aug 08 PHP
PHP图像识别技术原理与实现
Oct 27 PHP
Yii框架日志记录Logging操作示例
Jul 12 PHP
php实现记事本案例
Oct 20 PHP
php中array_fill函数的实例用法
Mar 02 PHP
php sprintf()函数让你的sql操作更安全
Jul 23 #PHP
PHP版自动生成文章摘要
Jul 23 #PHP
php array_merge下进行数组合并的代码
Jul 22 #PHP
用php过滤危险html代码的函数
Jul 22 #PHP
php socket方式提交的post详解
Jul 19 #PHP
php minixml详解
Jul 19 #PHP
php正则校验用户名介绍
Jul 19 #PHP
You might like
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
2017/11/14 PHP
Yii框架函数简单用法分析
2019/09/09 PHP
JS 参数传递的实际应用代码分析
2009/09/13 Javascript
js前台分页显示后端JAVA数据响应
2013/03/18 Javascript
js禁止页面使用右键(简单示例代码)
2013/11/13 Javascript
分享一个常用的javascript静态类
2014/12/31 Javascript
jQuery实现右下角可缩放大小的层完整实例
2016/06/20 Javascript
用JS动态设置CSS样式常见方法小结(推荐)
2016/11/10 Javascript
vue-router路由简单案例介绍
2017/02/21 Javascript
利用node.js实现自动生成前端项目组件的方法详解
2017/07/12 Javascript
js表单序列化判断空值的实例
2017/09/22 Javascript
修改UA在PC中访问只能在微信中打开的链接方法
2017/11/27 Javascript
vue实现固定位置显示功能
2019/05/30 Javascript
layui点击数据表格添加或删除一行的例子
2019/09/12 Javascript
[46:12]完美世界DOTA2联赛循环赛 DM vs Matador BO2第一场 11.04
2020/11/04 DOTA
Python深入学习之内存管理
2014/08/31 Python
Python的Django框架中if标签的相关使用
2015/07/15 Python
python实现神经网络感知器算法
2017/12/20 Python
python3.x上post发送json数据
2018/03/04 Python
tensorflow实现简单的卷积网络
2018/05/24 Python
Python使用wget实现下载网络文件功能示例
2018/05/31 Python
Python 带有参数的装饰器实例代码详解
2018/12/06 Python
Python Pywavelet 小波阈值实例
2019/01/09 Python
django 实现编写控制登录和访问权限控制的中间件方法
2019/01/15 Python
Python List cmp()知识点总结
2019/02/18 Python
Python+Selenium随机生成手机验证码并检查页面上是否弹出重复手机号码提示框
2020/09/21 Python
Python环境使用OpenCV检测人脸实现教程
2020/10/19 Python
基于python的opencv图像处理实现对斑马线的检测示例
2020/11/29 Python
详解Python中openpyxl模块基本用法
2021/02/23 Python
风险评估实施方案
2014/03/09 职场文书
学校食堂食品安全责任书
2014/07/28 职场文书
团队拓展活动方案
2014/08/28 职场文书
公安机关正风肃纪剖析材料
2014/10/10 职场文书
教师批评与自我批评
2014/10/15 职场文书
2014年班主任德育工作总结
2014/12/05 职场文书
2015年暑期实践报告范文
2015/07/13 职场文书