使用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 相关文章推荐
?生?D片??C字串
Dec 06 PHP
一个PHP的String类代码
Apr 20 PHP
PHP中=赋值操作符对不同数据类型的不同行为
Jan 02 PHP
ajax完美实现两个网页 分页功能的实例代码
Apr 16 PHP
基于curl数据采集之单页面并行采集函数get_htmls的使用
Apr 28 PHP
PHP小技巧之函数重载
Jun 02 PHP
php生成QRcode实例
Sep 22 PHP
PHP中SimpleXML函数用法分析
Nov 26 PHP
Ubuntu12下编译安装PHP5.3开发环境
Mar 27 PHP
php中get_defined_constants函数用法实例分析
May 12 PHP
PHP实现路由映射到指定控制器
Aug 13 PHP
php过滤输入操作之htmlentities与htmlspecialchars用法分析
Feb 17 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脚本不报错的原因
2014/06/12 PHP
PHP正则表达式入门教程(推荐)
2016/05/18 PHP
thinkPHP5.0框架独立配置与动态配置方法
2017/03/17 PHP
PHP中将一个字符串部分字符用星号*替代隐藏的实现代码
2019/09/08 PHP
JQuery Tips(2) 关于$()包装集你不知道的
2009/12/14 Javascript
window.parent与window.openner区别介绍
2012/04/12 Javascript
HTML页面登录时的JS验证方法
2014/05/28 Javascript
JavaScript lastIndexOf方法入门实例(计算指定字符在字符串中最后一次出现的位置)
2014/10/17 Javascript
jQuery插件jPaginate实现无刷新分页
2015/05/04 Javascript
js设置document.domain实现跨域的注意点分析
2015/05/21 Javascript
AngularJS教程 ng-style 指令简单示例
2016/08/03 Javascript
easyui messager alert 三秒后自动关闭提示的实例
2016/11/07 Javascript
Node.js 使用axios读写influxDB的方法示例
2018/10/26 Javascript
解决Layui 表格自适应高度的问题
2019/11/15 Javascript
小程序富文本提取图片可放大缩小
2020/05/26 Javascript
[01:17]Ti4 循环赛第一日回顾
2014/07/11 DOTA
Python中正则表达式的详细教程
2015/04/30 Python
python基于multiprocessing的多进程创建方法
2015/06/04 Python
Python爬虫实现简单的爬取有道翻译功能示例
2018/07/13 Python
Flask框架URL管理操作示例【基于@app.route】
2018/07/23 Python
python2和python3在处理字符串上的区别详解
2019/05/29 Python
详解python中的time和datetime的常用方法
2019/07/08 Python
Python中字典与恒等运算符的用法分析
2019/08/22 Python
python3 反射的四种基本方法解析
2019/08/26 Python
python SVD压缩图像的实现代码
2019/11/05 Python
python传到前端的数据,双引号被转义的问题
2020/04/03 Python
Python虚拟环境库virtualenvwrapper安装及使用
2020/06/17 Python
CSS3 滤镜 webkit-filter详细介绍及使用方法
2012/12/27 HTML / CSS
节省高达65%的城市景点费用:Go City
2019/07/06 全球购物
英国独特家具和家庭用品购物网站:Cuckooland
2020/08/30 全球购物
如何防止同一个帐户被多人同时登录
2013/08/01 面试题
后勤主管岗位职责
2014/03/01 职场文书
学校标语大全
2014/06/19 职场文书
win10下go mod配置方式
2021/04/25 Golang
基于Python实现股票收益率分析
2022/04/02 Python
vue选项卡切换的实现案例
2022/04/11 Vue.js