使用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 相关文章推荐
Dedecms常用函数解析
Feb 01 PHP
PHP字符串 ==比较运算符的副作用
Oct 21 PHP
PHP笔记之:日期函数的使用介绍
Apr 24 PHP
浅析php header 跳转
Jun 17 PHP
解析PHP汉字转换拼音的类
Jun 18 PHP
xss防御之php利用httponly防xss攻击
Mar 21 PHP
PHP+FastCGI+Nginx配置PHP运行环境
Aug 07 PHP
Linux下PHP连接Oracle数据库
Aug 20 PHP
php使用curl代理实现抓取数据的方法
Feb 03 PHP
定位地理位置PHP判断员工打卡签到经纬度是否在打卡之内
May 23 PHP
php 使用html5 XHR2实现上传文件与进度显示功能示例
Mar 03 PHP
php7连接MySQL实现简易查询程序的方法
Oct 13 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
PHP调用Twitter的RSS的实现代码
2010/03/10 PHP
php中怎么搜索相关联数组键值及获取之
2013/10/17 PHP
php 的反射详解及示例代码
2016/08/25 PHP
php 使用html5实现多文件上传实例
2016/10/24 PHP
详解PHP变量传值赋值和引用赋值变量销毁
2019/03/23 PHP
PHP使用ajax的post方式下载excel文件简单示例
2019/08/06 PHP
Laravel框架验证码类用法实例分析
2019/09/11 PHP
基于Jquery的$.cookie()实现跨越页面tabs导航实现代码
2011/03/03 Javascript
js取模(求余数)隔行变色
2014/05/15 Javascript
JavaScript字符串对象split方法入门实例(用于把字符串分割成数组)
2014/10/16 Javascript
JS基于面向对象实现的拖拽库实例
2015/09/24 Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(一)
2016/02/16 Javascript
为什么JavaScript没有块级作用域
2016/05/22 Javascript
[05:17]DOTA2睡衣妹卖萌求签名 CJ第二天全明星影像
2013/07/28 DOTA
[40:01]OG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python编程-将Python程序转化为可执行程序[整理]
2007/04/09 Python
Python递归实现汉诺塔算法示例
2018/03/19 Python
python+pandas分析nginx日志的实例
2018/04/28 Python
对python中的pop函数和append函数详解
2018/05/04 Python
python os.listdir按文件存取时间顺序列出目录的实例
2018/10/21 Python
Python使用ffmpy将amr格式的音频转化为mp3格式的例子
2019/08/08 Python
python使用多线程编写tcp客户端程序
2019/09/02 Python
python使用 request 发送表单数据操作示例
2019/09/25 Python
python、PyTorch图像读取与numpy转换实例
2020/01/13 Python
Python监听键盘和鼠标事件的示例代码
2020/11/18 Python
使用CSS3的box-sizing属性解决div宽高被内边距撑开的问题
2016/06/28 HTML / CSS
美国护肤咨询及美容产品电商:Askderm
2017/02/24 全球购物
告诉你怎样写创业计划书
2014/01/27 职场文书
小学教师国培感言
2014/02/08 职场文书
教师考察材料范文
2014/06/03 职场文书
幼儿教师2014年度工作总结
2014/12/16 职场文书
护士年终个人总结
2015/02/13 职场文书
开发一个封装iframe的vue组件
2021/03/29 Vue.js
Redis如何一键部署脚本
2021/04/12 Redis
Python自动化爬取天眼查数据的实现
2021/06/15 Python
PostgreSQL逻辑复制解密原理解析
2022/09/23 PostgreSQL