首页天道酬勤get和post传参的区别,php请求url

get和post传参的区别,php请求url

张世龙 05-06 06:37 131次浏览

[代码]php代码://获取注释的次数,参数为文章ID

函数getcommcount ($ postid ) )。

{

$ JSON data=file _ get _ contents (http://API.duo Shuo.com/threads/counts.JSON? short _ name=i94 web threads=$ postid '; 设置为//true返回数组,否则返回对象$RESJSON=JSON_decode($JSONdata,true )的return $ RES JSON [ ' response ]

}

远程请求有多种方法。 今天,怡和背包收集了六种。 请作为参考。

1、通过file_get_contents通过get方式获取内容:

2、用fopen打开url,通过get方式获取

$FP=fopen($URL,' r ';

sream_get_meta_data($FP );

while (! feof($FP ) }

$result.=fgets($FP,1024 );

}

echo 'url body: $result ';

fclose($fp;

3、在file_get_contents中通过开机自检方式获取内容:

$data=Array('foo'='bar ' );

$data=http_build_query($data );

$opts=array (

' http'=array (

'方法'='开机自检',

' header '=' content-type :应用程序/x-www-form-urlencoded rn '.' content-length 3360 '.strlen ($ data $ $ html=file _ get _ contents (http://localhost/e/admin/test.html ),false,$context ); echo $html;

4、用fsockopen函数打开url,通过get方式获取包括header和body在内的完整数据。 fsockopen必须在PHP.ini中打开allow_url_fopen选项

function get_url ($url,$cookie=false )

{

$URL=parse_URL($URL;

$query=$url [path].'? $url [query];

echo 'Query:' . $query;

$FP=fsockopen($URL[host],$url [port] )? $url [port]:80,$errno,$errstr,30;

if (! $FP({

返回假;

} else {

$request='GET $query HTTP/1.1rn ';

$ request.=' host : $ URL [ host ] rn ';

$ request.=' connection : closern ';

if $ cookie $ request.=' cookie : $ cookien ';

$request .='rn ';

fwrite($FP、$request );

while (! @feof($FP ) }

$result.=@fgets($FP,1024 );

}

fclose($fp;

返回$ result;

}

}

获取//URL的html部分,拆下header

功能获取html ($ URL,$cookie=false )

{

$rowdata=get_URL($URL,$cookie );

if($rowdata ) )。

{

$body=stristr($rowdata,' rnrn ' );

$body=substr($body,4,strlen ) $body );

返回$主体;

}

返回假;

}

5、用fsockopen函数打开url,通过POST方式获取包括header和body在内的完整数据

function HTTP_Post($URL、$data、$cookie、$referrer=' ' )

{

//parsing the given URL

$URL_info=parse_URL($URL;

//Building referrer

if($referrer==' ' )//ifnotgivenusethisscriptasreferrer

$referrer='111 ';

//** string from $data

foreach ($data as $key=$value )

$ values [ ]=' $ key='.urlencode ($ value;

$data_string=implode (',$values );

//findoutwhichportisneededifnotgivenusestandard (=80 ) )。

if (! isset($URL_Info [ 'port' ] )

$URL_Info [ 'port' ]=80;

//building开机自检- request :

$ request.=' post '.$ URL _ info [ ' path ' ].' http/1.1n '; $ request.=' host : '.$ URL _ info [ ' host ' ].' n '; $ request.=' referer : $ referern '; $ request.=' content-type : APP应用/x-www-form-urlencodedn '; $ request.=' content-length : '.strlen ($ data _ string ).' n ); $ request.=' connection : closen '; $request .='Cookie: $cookien '; $request .='n '; $request .=$data_string . 'n '; $ FP=fsockopen ($ URL _ info [ ' host ' ],$URL_Info [ 'port' ] ); fputs ($fp,$request; while (! feof($FP ) ) $result.=fgets ) $FP,1024 ); (fclose ) $FP; 返回$ result;

}

6、使用curl库。 在使用curl库之前,可能需要检查php.ini是否打开了curl扩展

$ch=curl_init (;

$timeout=5;

CURL_setopt($ch,CURLOPT_URL,‘http: //www.ido321.com/' );

CURL_setopt($ch,CURLOPT_RETURNTRANSFER,1 );

CURL_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout );

$file_contents=curl_exec($ch );

CURL_close($ch;

echo $file_contents;

在线post请求,get和post请求方式区别