使用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代码
Dec 06 PHP
Codeigniter检测表单post数据的方法
Mar 21 PHP
PHP实现的迷你漂流瓶
Jul 29 PHP
功能强大的PHP图片处理类(水印、透明度、旋转)
Oct 21 PHP
Windows下PHP开发环境搭建教程(Apache+PHP+MySQL)
Jun 13 PHP
php图像处理函数imagecopyresampled用法详解
Dec 02 PHP
php实现base64图片上传方式实例代码
Feb 22 PHP
php session的应用详细介绍
Mar 22 PHP
PHP实现求连续子数组最大和问题2种解决方法
Dec 26 PHP
PHP 计算两个特别大的整数实例代码
May 07 PHP
记录Yii2框架开发微信公众号遇到的问题及解决方法
Jul 20 PHP
PHP面向对象程序设计之对象的遍历操作示例
Jun 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
随时给自己贴的图片加文字的php水印
2007/03/16 PHP
php多线程并发实现方法
2016/09/30 PHP
javascript void(0)的妙用
2009/10/21 Javascript
jquerymobile checkbox及时刷新才能获取其准确值
2012/04/14 Javascript
一行代码告别document.getElementById
2012/06/01 Javascript
ExtJS4中的requires使用方法示例介绍
2013/12/03 Javascript
JsRender for index循环索引用法详解
2014/10/31 Javascript
jQuery实现tab标签自动切换的方法
2015/02/28 Javascript
jQuery插件PageSlide实现左右侧栏导航菜单
2015/04/12 Javascript
jQuery实现带有洗牌效果的动画分页实例
2015/08/31 Javascript
谈谈js中的prototype及prototype属性解释和常用方法
2015/11/25 Javascript
JavaScript判断是否是微信浏览器
2016/06/13 Javascript
Bootstrap基本组件学习笔记之按钮组(8)
2016/12/07 Javascript
vuejs如何配置less
2017/04/25 Javascript
jQuery Tree Multiselect使用详解
2017/05/02 jQuery
分析javascript中9 个常见错误阻碍你进步
2017/09/18 Javascript
webpack css加载和图片加载的方法示例
2018/09/11 Javascript
在vue中利用全局路由钩子给url统一添加公共参数的例子
2019/11/01 Javascript
[04:45]上海特级锦标赛主赛事第三日TOP10
2016/03/05 DOTA
[01:19:46]EG vs Secret 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
Python os模块介绍
2014/11/30 Python
简单介绍Python的轻便web框架Bottle
2015/04/08 Python
Python 查找list中的某个元素的所有的下标方法
2018/06/27 Python
Python开发网站目录扫描器的实现
2019/02/21 Python
Python数据类型之Dict字典实例详解
2019/05/07 Python
完美解决python3.7 pip升级 拒绝访问问题
2019/07/12 Python
python 下划线的不同用法
2020/10/24 Python
python 爬取百度文库并下载(免费文章限定)
2020/12/04 Python
CSS3与动画有关的属性transition、animation、transform对比(史上最全版)
2017/08/18 HTML / CSS
幼师自我鉴定范文
2013/10/01 职场文书
2014年团员学习十八大思想汇报
2014/09/13 职场文书
教师自查自纠材料
2014/10/14 职场文书
贷款工资证明范本
2015/06/12 职场文书
vue-element-admin项目导入和导出的实现
2021/05/21 Vue.js
利用python进行数据加载
2021/06/20 Python
MySQL空间数据存储及函数
2021/09/25 MySQL