<?php
// 简单的发送方法
// 为了发送到微软的 webservers 平台,你可能需要变换换行 "\n" 到 "\r\n" // 发送 "browser" 头
function send_headers ($fp) {
fputs ($fp, "Accept: */*\n");
fputs ($fp, "Accept-Language: en\n");
fputs ($fp, "Connection: Keep-Alive\n");
fputs ($fp, "User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)\n");
} // 发送数据和接受回复
function post_data ($host, $url, $data) {
$fp = @fsockopen ($host, 80, $errno, $errstr, 120);
$ret = "";
if (strncasecmp ($url, "http://", 7) == 0) $url = substr ($url, 7);
$req = strchr($url,"/");
if (! $req) {
$req = "/";
}
if ($fp) {
fputs ($fp, "POST $req HTTP/1.0\n");
send_headers ($fp);
fputs ($fp, "Content-type: application/x-www-form-urlencoded\n");
$out = "";
while (list ($k, $v) = each ($data)) {
if(strlen($out) != 0) $out .= "&";
$out .= rawurlencode($k). "=" .rawurlencode($v);
}
$out = trim ($out);
fputs ($fp, "Content-length: ".strlen($out)."\n\n");
fputs ($fp, "$out");
fputs ($fp, "\n");
while(!feof($fp)){
$ret .= fgets($fp,128);
}
fclose ($fp);
}
return $ret;
}/* 例子:
发送数据到10.34.137.9/users/ide/server.php
server.php的内容为
<?php
print_r($_POST);
?>
*/
$reply = post_data ("10.34.137.9", "/users/ide/server.php", array ("login" => "用户", "pass" => "口令"));
echo $reply; // 显示返回的结果
?> php能正确接受,cgi应该也可以的。
// 简单的发送方法
// 为了发送到微软的 webservers 平台,你可能需要变换换行 "\n" 到 "\r\n" // 发送 "browser" 头
function send_headers ($fp) {
fputs ($fp, "Accept: */*\n");
fputs ($fp, "Accept-Language: en\n");
fputs ($fp, "Connection: Keep-Alive\n");
fputs ($fp, "User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)\n");
} // 发送数据和接受回复
function post_data ($host, $url, $data) {
$fp = @fsockopen ($host, 80, $errno, $errstr, 120);
$ret = "";
if (strncasecmp ($url, "http://", 7) == 0) $url = substr ($url, 7);
$req = strchr($url,"/");
if (! $req) {
$req = "/";
}
if ($fp) {
fputs ($fp, "POST $req HTTP/1.0\n");
send_headers ($fp);
fputs ($fp, "Content-type: application/x-www-form-urlencoded\n");
$out = "";
while (list ($k, $v) = each ($data)) {
if(strlen($out) != 0) $out .= "&";
$out .= rawurlencode($k). "=" .rawurlencode($v);
}
$out = trim ($out);
fputs ($fp, "Content-length: ".strlen($out)."\n\n");
fputs ($fp, "$out");
fputs ($fp, "\n");
while(!feof($fp)){
$ret .= fgets($fp,128);
}
fclose ($fp);
}
return $ret;
}/* 例子:
发送数据到10.34.137.9/users/ide/server.php
server.php的内容为
<?php
print_r($_POST);
?>
*/
$reply = post_data ("10.34.137.9", "/users/ide/server.php", array ("login" => "用户", "pass" => "口令"));
echo $reply; // 显示返回的结果
?> php能正确接受,cgi应该也可以的。
解决方案 »
- mysql删除记录后,添加记录调过删除id.如何重新排序.
- 新浪编辑器时好时坏,无法显示问题
- smarty里面的导入文件, <!--#include virtual="/event/index_calendar.php" --> 在ubuntu失效
- HTTP 501 未执行或不支持 HTTP 505 版本
- 如何根据用户是否登陆,改变菜单栏的内容?
- curl上传图片文件的问题。
- thinkphp <html:list 标签
- jpgraph安装问题求教,在线等
- 请教xuzuning(唠叨),中值排序法组织数据是什么意思?
- 用thinkphp的大神看过来
- 求助!!c:/php/sapi/php4apache2.dll是存在的,为什么不能加载?报错信息为`````````
- 求救???
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;
}
?> 也可以这样
$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);
?>