使用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 相关文章推荐
pw的一个放后门的方法分析
Oct 08 PHP
服务器web工具 php环境下
Dec 29 PHP
PHP 常用数组内部函数(Array Functions)介绍
Jun 05 PHP
php的webservice的wsdl的XML无法显示问题的解决方法
Mar 11 PHP
php实现TCP端口检测的方法
Apr 01 PHP
php简单实现快速排序的方法
Apr 04 PHP
非常重要的php正则表达式详解
Jan 04 PHP
Zend Framework教程之分发器Zend_Controller_Dispatcher用法详解
Mar 07 PHP
Smarty高级应用之缓存操作技巧分析
May 14 PHP
CI框架的安全性分析
May 18 PHP
PHP使用zlib扩展实现GZIP压缩输出的方法详解
Apr 09 PHP
详解PHP发送邮件知识点
May 06 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
雄兵连三大错觉:凯莎没了,凉冰阵亡了,华烨觉得自己又行了
2020/04/09 国漫
PHP中将数组转成XML格式的实现代码
2011/08/08 PHP
php连接oracle数据库的核心步骤
2016/05/26 PHP
利用PHP获取汉字首字母并且分组排序详解
2017/10/22 PHP
Laravel 批量更新多条数据的示例
2017/11/27 PHP
pjblog中的UBBCode.js
2007/04/25 Javascript
javascript 清除输入框中的数据
2009/04/13 Javascript
JavaScript Event学习第七章 事件属性
2010/02/07 Javascript
Dom操作之兼容技巧分享
2011/09/20 Javascript
jquery更换文章内容与改变字体大小代码
2013/09/30 Javascript
JavaScript中子对象访问父对象的方式详解
2016/09/01 Javascript
概述jQuery的元素筛选
2016/11/23 Javascript
jQuery的ajax中使用FormData实现页面无刷新上传功能
2017/01/16 Javascript
Bootstrap面板学习使用
2017/02/09 Javascript
[29:10]Ti4 冒泡赛第二天 NEWBEE vs Titan 3
2014/07/15 DOTA
用python 批量更改图像尺寸到统一大小的方法
2018/03/31 Python
Python异常的检测和处理方法
2018/10/26 Python
python异步存储数据详解
2019/03/19 Python
python实现AES加密和解密
2019/03/27 Python
Django认证系统实现的web页面实现代码
2019/08/12 Python
python的slice notation的特殊用法详解
2019/12/27 Python
Melissa鞋马来西亚官方网站:MDreams马来西亚
2018/04/05 全球购物
EJB面试题
2015/07/28 面试题
致跳远运动员广播稿
2014/02/11 职场文书
提拔干部考察材料
2014/05/26 职场文书
商务经理岗位职责
2014/08/03 职场文书
高中军训的心得体会
2014/09/01 职场文书
党委书记个人对照检查材料
2014/09/15 职场文书
初中数学课堂教学反思
2016/02/17 职场文书
创业的9条正确思考方式
2019/08/26 职场文书
golang switch语句的灵活写法介绍
2021/05/06 Golang
java设计模式--原型模式详解
2021/07/21 Java/Android
关于mysql中时间日期类型和字符串类型的选择
2021/11/27 MySQL
SQLServer权限之只开启创建表权限
2022/04/12 SQL Server
nginx之内存池的实现
2022/06/28 Servers
element tree树形组件回显数据问题解决
2022/08/14 Javascript