使用PHP socke 向指定页面提交数据

 更新时间:2008年07月23日 19:29:41   作者:  
一直以为有了ajax别人网站的数据就可以拿过来用,这也是我这几天想的一个方像,但是用了firefox测试之后,现在不能,
在jquery里用 load post 等等,无法得到我想要的结果!于是突然-----这几天想的东西都白想了,现在只好这样了
现在想在php里面向指定的页面提交数据,应该有,还可以有返回值
于是找了这个函数,不过没有试,我想可以不知道空间能不能通得过
是村里拿来的! 
复制代码 代码如下:

<?php
/*-----------------------------------------------------------
*功能:使用PHP socke 向指定页面提交数据
*
*作者:Honghe.c
*
*说明:post($url, $data)
*
*      $url    = 'https://www.jb51.net';
*      $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);
*/

?>

相关文章

  • 一键生成各种尺寸Icon的php脚本(实例)

    一键生成各种尺寸Icon的php脚本(实例)

    下面小编就为大家带来一篇一键生成各种尺寸Icon的php脚本(实例)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • php实现excel中rank函数功能的方法

    php实现excel中rank函数功能的方法

    这篇文章主要介绍了php实现excel中rank函数功能的方法,较为详细的分析了rank函数的功能及具体实现方法,需要的朋友可以参考下
    2015-01-01
  • PHP实现仿Google分页效果的分页函数

    PHP实现仿Google分页效果的分页函数

    这篇文章主要介绍了PHP实现仿Google分页效果的分页函数,实例分析了php实现分页的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • 使ecshop模板中可引用常量的实现方法

    使ecshop模板中可引用常量的实现方法

    据说ecshop的模板类是修改的smarty,不过个人感觉不是修改是完全重写了。它和smarty上只是模板标签上有相同的地方,同时阉割了很多功能
    2011-06-06
  • 10款PHP开源商城系统汇总介绍

    10款PHP开源商城系统汇总介绍

    本文给大家推荐了10款目前非常火的PHP开源商城系统,排名不分先后,有需要做电子商务平台的小伙伴可以参考下。
    2015-07-07
  • php支持断点续传、分块下载的类

    php支持断点续传、分块下载的类

    这篇文章主要介绍了php支持断点续传、分块下载的类的相关资料,需要的朋友可以参考下
    2016-05-05
  • php异步多线程swoole用法实例

    php异步多线程swoole用法实例

    这篇文章主要介绍了php异步多线程swoole用法,以实例形式讲述了swoole的异步多线程特性,需要的朋友可以参考下
    2014-11-11
  • 解析关于wamp启动是80端口被占用的问题

    解析关于wamp启动是80端口被占用的问题

    本篇文章是对关于wamp启动是80端口被占用的问题(win7系统下WAMP 80端口被Microsoft-HTTPAPI/2.0占用的解决办法)进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP随机生成用户信息实例分析

    PHP随机生成用户信息实例分析

    在本篇文章里小编给大家整理的是一篇关于PHP随机生成用户信息实例分析内容,对此有兴趣的朋友们可以测试参考下。
    2021-12-12
  • 用PHP编写每周签到功能以提高用户参与度

    用PHP编写每周签到功能以提高用户参与度

    这篇文章主要介绍了用PHP编写每周签到功能以提高用户参与度,签到系统是一种轻量、互动性强的营销方式,通过用户签到获取免费权益,引导用户形成每天、每周等的习惯性操作,从而达到品牌推广的目的
    2023-04-04

最新评论