使用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 相关文章推荐
PHP 显示客户端IP与服务器IP的代码
Oct 12 PHP
ThinkPHP自动验证失败的解决方法
Jun 09 PHP
深入PHP empty(),isset(),is_null()的实例测试详解
Jun 06 PHP
对淘宝URL中ID提取的PHP代码
Sep 01 PHP
从wamp到xampp的升级之路
Apr 08 PHP
php安装php_rar扩展实现rar文件读取和解压的方法
Nov 17 PHP
PHP封装的多文件上传类实例与用法详解
Feb 07 PHP
Yii2配置Nginx伪静态的方法
May 05 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
Sep 21 PHP
PHP调用接口用post方法传送json数据的实例
May 31 PHP
php JWT在web端中的使用方法教程
Sep 06 PHP
php+jQuery ajax实现的实时刷新显示数据功能示例
Sep 12 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
一个SQL管理员的web接口
2006/10/09 PHP
php flush类输出缓冲剖析
2008/10/19 PHP
浅谈PHP与C#的值类型指向区别的详解
2013/05/21 PHP
PHP 转义使用详解
2013/07/15 PHP
php中JSON的使用与转换
2015/01/14 PHP
php限制ip地址范围的方法
2015/03/31 PHP
基于php(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能
2017/02/24 PHP
js字符串转换成xml对象并使用技巧解读
2013/04/18 Javascript
详解参数传递四种形式
2015/07/21 Javascript
JS+CSS实现闪烁字体效果代码
2016/04/05 Javascript
Javascript仿京东放大镜的效果
2017/03/01 Javascript
JavaScript实现弹出广告功能
2017/03/30 Javascript
基于JavaScript实现数码时钟效果
2020/03/30 Javascript
仿淘宝JSsearch搜索下拉深度用法
2018/01/15 Javascript
深入理解redux之compose的具体应用
2020/01/12 Javascript
python连接mysql调用存储过程示例
2014/03/05 Python
使用PDB简单调试Python程序简明指南
2015/04/25 Python
利用Python循环(包括while&amp;for)各种打印九九乘法表的实例
2017/11/06 Python
基于python实现百度翻译功能
2019/05/09 Python
django如何实现视图重定向
2019/07/24 Python
Jupyter notebook无法导入第三方模块的解决方式
2020/04/15 Python
Python tkinter界面实现历史天气查询的示例代码
2020/08/23 Python
Python headers请求头如何实现快速添加
2020/11/03 Python
Html5之自定义属性(data-,dataset)
2019/11/19 HTML / CSS
伦敦最著名的老字号百货公司:Selfridges(塞尔福里奇百货)
2016/07/25 全球购物
英国领先的珍珠首饰品牌:Orchira
2016/09/11 全球购物
领导班子四风表现材料
2014/08/23 职场文书
幼儿教师暑期培训方案
2014/08/27 职场文书
民族学专业职业生涯规划范文:积跬步以至千里
2014/09/11 职场文书
2014年乡镇民政工作总结
2014/12/02 职场文书
通报表扬范文
2015/01/17 职场文书
超市食品安全承诺书
2015/04/29 职场文书
党纪处分决定书
2015/06/24 职场文书
2016年清明节网上祭英烈活动总结
2016/04/01 职场文书
2016年119消防宣传日活动总结
2016/04/05 职场文书
试了下Golang实现try catch的方法
2021/07/01 Golang