用PHP怎么发送HTTP POST 请求。怎么获得返回结果。
通过HTTP协议。POST一些数据给远程的服务器,不知道怎么传递怎么获得返回结果。?希望做过这些的朋友帮下忙@@...
通过HTTP协议。POST一些数据给远程的服务器,不知道怎么传递怎么获得返回结果。? 希望做过这些的朋友帮下忙@@
展开
2个回答
展开全部
传递? 用 form标签啊 <form action="" method="post"></form>
获取结果用超全局变量 $_post[]
获取结果用超全局变量 $_post[]
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<?php
$srv_ip = '192.168.10.188';//你的目标服务地址或频道.
$srv_port = 80;
$url = '/demo/test_query_string.php'; //接收你post的URL具体地址
$fp = '';
$resp_str = '';
$errno = 0;
$errstr = '';
$timeout = 10;
$post_str = "username=demo&str=aaaa";//要提交的内容.
//echo $url_str;
if ($srv_ip == '' || $dest_url == ''){
echo('ip or dest url empty<br>');
}
//echo($srv_ip);
$fp = fsockopen($srv_ip,$srv_port,$errno,$errstr,$timeout);
if (!$fp){
echo('fp fail');
}
$content_length = strlen($post_str);
$post_header = "POST $url HTTP/1.1\r\n";
$post_header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$post_header .= "User-Agent: MSIE\r\n";
$post_header .= "Host: ".$srv_ip."\r\n";
$post_header .= "Content-Length: ".$content_length."\r\n";
$post_header .= "Connection: close\r\n\r\n";
$post_header .= $post_str."\r\n\r\n";
fwrite($fp,$post_header);
while(!feof($fp)){
$resp_str .= fgets($fp,512);//返回值放入$resp_str
}
fclose($fp);
echo($resp_str);//处理返回值.
//unset ($resp_str);
?>
===========================
给你这么详细的例子,从自己的代码里摘出来的,哥们也得给点分吧?
$srv_ip = '192.168.10.188';//你的目标服务地址或频道.
$srv_port = 80;
$url = '/demo/test_query_string.php'; //接收你post的URL具体地址
$fp = '';
$resp_str = '';
$errno = 0;
$errstr = '';
$timeout = 10;
$post_str = "username=demo&str=aaaa";//要提交的内容.
//echo $url_str;
if ($srv_ip == '' || $dest_url == ''){
echo('ip or dest url empty<br>');
}
//echo($srv_ip);
$fp = fsockopen($srv_ip,$srv_port,$errno,$errstr,$timeout);
if (!$fp){
echo('fp fail');
}
$content_length = strlen($post_str);
$post_header = "POST $url HTTP/1.1\r\n";
$post_header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$post_header .= "User-Agent: MSIE\r\n";
$post_header .= "Host: ".$srv_ip."\r\n";
$post_header .= "Content-Length: ".$content_length."\r\n";
$post_header .= "Connection: close\r\n\r\n";
$post_header .= $post_str."\r\n\r\n";
fwrite($fp,$post_header);
while(!feof($fp)){
$resp_str .= fgets($fp,512);//返回值放入$resp_str
}
fclose($fp);
echo($resp_str);//处理返回值.
//unset ($resp_str);
?>
===========================
给你这么详细的例子,从自己的代码里摘出来的,哥们也得给点分吧?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询