如何从一个php文件向另一个地址post数据,不用表单和隐藏的变量的


Posted in PHP onMarch 06, 2007

可以使用以下函数来实现: 

<?php
function posttohost($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.0\n", $url['path'], $url['query'] ? "?" : "", $url['query']));
fputs($fp, "Host: $url[host]\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\n");
fputs($fp, "Content-length: " . strlen($encoded) . "\n");
fputs($fp, "Connection: close\n\n"); 

fputs($fp, "$encoded\n"); 

$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 == "\r\n")) {
$inheader = 0;
}
elseif (!$inheader) {
$results .= $line;
}
}
fclose($fp); 

return $results;
}
?>
--------------------------------------------------------------------------------------------------
也可以这样 

<?php
$URL="www.mysite.com/test.php";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"https://$URL");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "Data1=blah&Data2=blah");
curl_exec ($ch);
curl_close ($ch);
?>

PHP 相关文章推荐
利用 window_onload 实现select默认选择
Oct 09 PHP
关于时间计算的结总
Dec 06 PHP
PHP获取表单textarea数据中的换行问题
Sep 10 PHP
PHP数据库调用类调用实例(详细注释)
Jul 12 PHP
解析PHP中intval()等int转换时的意外异常情况
Jun 21 PHP
简单实用的PHP防注入类实例
Dec 05 PHP
PHP生成随机数的方法实例分析
Jan 22 PHP
mod_php、FastCGI、PHP-FPM等PHP运行方式对比
Jul 02 PHP
php调用淘宝开放API实现根据卖家昵称获取卖家店铺ID的方法
Jul 29 PHP
php is_executable判断给定文件名是否可执行实例
Sep 26 PHP
php使用str_shuffle()函数生成随机字符串的方法分析
Feb 17 PHP
php文件上传原理与实现方法详解
Dec 20 PHP
收集的php编写大型网站问题集
Mar 06 #PHP
用PHP实现Ftp用户的在线管理的代码
Mar 06 #PHP
个人站长制做网页常用的php代码
Mar 03 #PHP
NOD32 v2.70.32 简体中文封装版 提供下载了
Feb 27 #PHP
给php新手谈谈我的学习心得
Feb 25 #PHP
Smarty+QUICKFORM小小演示
Feb 25 #PHP
php简单封装了一些常用JS操作
Feb 25 #PHP
You might like
CI框架中redis缓存相关操作文件示例代码
2016/05/17 PHP
PHP中的print_r 与 var_dump 输出数组
2016/06/13 PHP
php实现微信分享朋友链接功能
2019/02/18 PHP
在 Laravel 项目中使用 webpack-encore的方法
2019/07/21 PHP
PHP pthreads v3下worker和pool的使用方法示例
2020/02/21 PHP
js利用Array.splice实现Array的insert/remove
2009/01/13 Javascript
禁止ajax缓存获取程序最新数据的方法
2013/11/19 Javascript
用javascript为页面添加天气显示实现思路及代码
2013/12/02 Javascript
js实现对table动态添加、删除和更新的方法
2015/02/10 Javascript
Bootstrap源码解读按钮(5)
2016/12/23 Javascript
js css3实现图片拖拽效果
2017/03/04 Javascript
vue 每次渲染完页面后div的滚动条保持在最底部的方法
2018/03/17 Javascript
利用Webpack实现小程序多项目管理的方法
2019/02/25 Javascript
JavaScript实现星级评价效果
2019/05/17 Javascript
Vue 实现一个命令式弹窗组件功能
2019/09/25 Javascript
微信小程序 冒泡事件原理解析
2019/09/27 Javascript
微信小程序修改checkbox的样式代码实例
2020/01/21 Javascript
[47:03]完美世界DOTA2联赛PWL S3 access vs LBZS 第一场 12.20
2020/12/23 DOTA
Python 实现购物商城,含有用户入口和商家入口的示例
2017/09/15 Python
python 3.5实现检测路由器流量并写入txt的方法实例
2017/12/17 Python
Python简单获取网卡名称及其IP地址的方法【基于psutil模块】
2018/05/24 Python
详解Python3除法之真除法、截断除法和下取整对比
2019/05/23 Python
django 中的聚合函数,分组函数,F 查询,Q查询
2019/07/25 Python
django自带调试服务器的使用详解
2019/08/29 Python
python如何通过twisted搭建socket服务
2020/02/03 Python
Python decorator拦截器代码实例解析
2020/04/04 Python
如何利用python web框架做文件流下载的实现示例
2020/06/02 Python
keras 指定程序在某块卡上训练实例
2020/06/22 Python
基于logstash实现日志文件同步elasticsearch
2020/08/06 Python
Python+pyftpdlib实现局域网文件互传
2020/08/24 Python
HTML5自定义data-* data(obj)属性和jquery的data()方法的使用
2012/12/13 HTML / CSS
英国标志性生活方式品牌:Skinnydip London
2019/12/15 全球购物
数控专业大学生的自我鉴定
2013/11/13 职场文书
说明书格式及范文
2014/05/07 职场文书
2014年教师节演讲稿
2014/09/03 职场文书
使用vue判断当前环境是安卓还是IOS
2022/04/12 Vue.js