-
-
$opts = array( - 'http'=>array(
- 'method'=>"GET",
- 'timeout'=>1,//单位秒
- )
- );
$cnt=0;
- while($cnt<3 && ($bb=file_get_contents("http://bbs.it-home.org", false, stream_context_create($opts)))===FALSE) $cnt++;
- echo $cnt;
- echo $bb;
-
复制代码
二、一次有延时的话那就多试几次
有时失败是因为网络等因素造成。
可以修改程序,失败时重试几次,仍然失败就放弃,因为file_get_contents()如果失 败将返回 FALSE。
例如:
$cnt=0;
while($cnt”GET”, 是不是能设置成post呢?
例如:
-
-
function Post($url, $post = null){ - $context = array ();
- if (is_array ( $post )) {
- ksort ( $post );
- $context ['http'] = array (
- 'timeout' => 60,
- 'method' => 'POST',
- 'content' => http_build_query( $post, '', '&' )
- );
}
- return file_get_contents ( $url, false, stream_context_create ( $context ) );
- }
$data = array (
- 'name' => 'test',
- 'email' => 'admin@admin.com',
- 'submit' => 'submit',
- );
- echo Post ( 'http://bbs.it-home.org', $data );
-
复制代码
就是这样了,以上的函数还是不错的,同时解决了超时控制与Post传值的问题。
|