Chinaunix首页 | 论坛 | 博客
  • 博客访问: 18681069
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类:

2008-04-18 08:57:32

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

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="";
ch = curl_init();
curl_setopt(ch, CURLOPT_URL,"");
curl_setopt(ch, CURLOPT_POST, 1);
curl_setopt(ch, CURLOPT_POSTFIELDS, "Data1=blah&Data2=blah");
curl_exec (ch);
curl_close (ch);
?>

阅读(1001) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~