使用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 相关文章推荐
vBulletin Forum 2.3.xx SQL Injection
Oct 09 PHP
支持oicq头像的留言簿(一)
Oct 09 PHP
详解:――如何将图片储存在数据库里
Dec 05 PHP
简化php模板页面中分页代码的解析
Feb 06 PHP
php对大文件进行读取操作的实现代码
Jan 23 PHP
编写PHP脚本过滤用户上传的图片
Jul 03 PHP
PHP的几个常用加密函数
Feb 03 PHP
PHP检测用户是否关闭浏览器的方法
Feb 14 PHP
Zend Framework教程之Zend_Config_Ini用法分析
Mar 23 PHP
php pdo oracle中文乱码的快速解决方法
May 16 PHP
一个非常实用的php文件上传类
Jul 04 PHP
php 使用mpdf实现指定字段配置字体样式的方法
Jul 29 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
基于ThinkPHP实现的日历功能实例详解
2017/04/15 PHP
Laravel给生产环境添加监听事件(SQL日志监听)
2017/06/19 PHP
PHP基于socket实现客户端和服务端通讯功能
2017/07/13 PHP
JS保留小数点(四舍五入、四舍六入)实现思路及实例
2013/04/25 Javascript
使用jQuery5分钟快速搞定双色表格的简单实例
2016/08/08 Javascript
JavaScript中函数声明与函数表达式的区别详解
2016/08/18 Javascript
node.js的事件机制
2017/02/08 Javascript
springmvc接收jquery提交的数组数据代码分享
2017/10/28 jQuery
Angular Renderer (渲染器)的具体使用
2018/05/03 Javascript
详解微信小程序实现WebSocket心跳重连
2018/07/31 Javascript
简化版的vue-router实现思路详解
2018/10/19 Javascript
JS检索下拉列表框中被选项目的索引号(selectedIndex)
2019/12/17 Javascript
jQuery使用jsonp实现百度搜索的示例代码
2020/07/08 jQuery
vue-drawer-layout实现手势滑出菜单栏
2020/11/19 Vue.js
[01:14:55]EG vs Spirit Supermajor 败者组 BO3 第三场 6.4
2018/06/05 DOTA
Python lxml模块安装教程
2015/06/02 Python
Python实现的计数排序算法示例
2017/11/29 Python
pandas带有重复索引操作方法
2018/06/08 Python
Python爬虫beautifulsoup4常用的解析方法总结
2019/02/25 Python
详解python中TCP协议中的粘包问题
2019/03/22 Python
python tkinter canvas 显示图片的示例
2019/06/13 Python
python图形绘制奥运五环实例讲解
2019/09/14 Python
python groupby 函数 as_index详解
2019/12/16 Python
python中二分查找法的实现方法
2020/12/06 Python
墨西哥网上购物:Linio墨西哥
2016/10/20 全球购物
Bitiba意大利:在线宠物商店
2020/10/31 全球购物
Linux的主要特性
2014/10/06 面试题
总经理任命书
2014/03/29 职场文书
个人贷款担保书
2014/04/01 职场文书
三月学雷锋活动总结
2014/06/26 职场文书
普通话宣传标语
2014/06/26 职场文书
超市开店计划书
2014/09/15 职场文书
乡镇党建工作汇报材料
2014/10/27 职场文书
java设计模式--三种工厂模式详解
2021/07/21 Java/Android
Mysql排序的特性详情
2021/11/01 MySQL
MySQL添加索引特点及优化问题
2022/07/23 MySQL