php socket方式提交的post详解

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php socket方式提交的post详解脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

<?
/*
*POST报文到主机
/
functionPostToHost($url,$data){
$url=parse_url($url);
if(!$url)return"Couldn\'tparseurl";
if(!isset($url[\'port\'])){$url[\'port\']="";}
if(!isset($url[\'query\'])){$url[\'query\']="";}
$encoded=""; while(list($k,$v)=each($data)){
$encoded.=($encoded?"&amp;":"");
$encoded.=rawurlencode($k)."=".rawurlencode($v);
} $port=$url[\'port\']?$url[\'port\']:80;
$fp=fsockopen($url[\'host\'],$port,$errno,$errstr);
if(!$fp)return"FailedtooPEnsocketto$url[host]$portERROR:$errno-$errstr"; fputs($fp,sPRintf("POST%s%s%sHTTP/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;
}/enDFunctionPostToHost/
?>

脚本宝典总结

以上是脚本宝典为你收集整理的php socket方式提交的post详解全部内容,希望文章能够帮你解决php socket方式提交的post详解所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。