使用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 相关文章推荐
BBS(php &amp; mysql)完整版(七)
Oct 09 PHP
模仿OSO的论坛(四)
Oct 09 PHP
PHP 和 XML: 使用expat函数(三)
Oct 09 PHP
PHP游戏编程25个脚本代码
Feb 08 PHP
php 日期和时间的处理-郑阿奇(续)
Jul 04 PHP
PHP仿盗链代码
Jun 03 PHP
PHP 数组和字符串互相转换实现方法
Mar 26 PHP
PHP实现根据浏览器跳转不同语言页面代码
Aug 02 PHP
php使用str_replace实现输入框回车替换br的方法
Nov 24 PHP
6个超实用的PHP代码片段
Aug 10 PHP
php微信公众平台开发(一) 配置接口
Dec 06 PHP
PHP实现单文件、多个单文件、多文件上传函数的封装示例
Sep 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
关于时间计算的结总
2006/12/06 PHP
分享8个最佳的代码片段在线测试网站
2013/06/29 PHP
ThinkPHP实现二级循环读取的方法
2014/11/03 PHP
PHP添加图片水印、压缩、剪切的封装类
2015/08/17 PHP
JS连接SQL数据库与ACCESS数据库的方法实例
2013/11/21 Javascript
js获取当前页面路径示例讲解
2014/01/08 Javascript
jquery实现鼠标滑过小图查看大图的方法
2015/07/20 Javascript
this,this,再次讨论javascript中的this,超全面(经典)
2016/01/05 Javascript
使用jQuery卸载全部事件的思路详解
2017/04/03 jQuery
ReactJS实现表单的单选多选和反选的示例
2017/10/13 Javascript
AngularJS实现注册表单验证功能
2017/10/16 Javascript
详解在WebStorm中添加Vue.js单文件组件的高亮及语法支持
2017/10/21 Javascript
浅谈ajax请求不同页面的微信JSSDK问题
2018/02/26 Javascript
在vue项目中使用sass的配置方法
2018/03/20 Javascript
jQuery实现的淡入淡出图片轮播效果示例
2018/08/29 jQuery
微信小程序云开发如何实现数据库自动备份实现
2019/08/16 Javascript
JavaScript实现串行请求的示例代码
2020/09/14 Javascript
[02:41]DOTA2英雄基础教程 谜团
2013/12/10 DOTA
python3实现域名查询和whois查询功能
2018/06/21 Python
对python中的try、except、finally 执行顺序详解
2019/02/18 Python
Django model 中设置联合约束和联合索引的方法
2019/08/06 Python
Python numpy数组转置与轴变换
2019/11/15 Python
把vgg-face.mat权重迁移到pytorch模型示例
2019/12/27 Python
详解Python3 中的字符串格式化语法
2020/01/15 Python
python实现字符串和数字拼接
2020/03/02 Python
MVC的各个部分都有那些技术来实现?如何实现?
2016/04/21 面试题
18岁生日感言
2014/01/12 职场文书
本科毕业生专业自荐书范文
2014/02/05 职场文书
机械工程及其自动化专业求职信
2014/08/08 职场文书
2014年公司工作总结
2014/11/22 职场文书
2014年教研组工作总结
2014/11/26 职场文书
幼儿园学前班幼儿评语
2014/12/29 职场文书
行政申诉状范文
2015/05/20 职场文书
六一儿童节主持开场白
2015/05/28 职场文书
校运会宣传稿大全
2015/07/23 职场文书
mysql事务隔离级别详情
2021/10/24 MySQL