使用PHP中的CURL类函数模拟POST

今天来说一下使用PHP中的CURL类函数模拟POST。 CURL类函数,功能十分强大,可以用来抓取其他网页的内容、信息,常见的新闻小偷,别人的天气预报、甚至是GOOGLE的翻译结果等内容,都可以通过它来获取。这里简单举一个例子来说明它的用法。

代码
1 <?php
2 header('Content-Type:text/html;charset= utf-8'); //发送头部信息,确认页面编码
3  $curlPost="wd=dog&f=3"; //定义需要发送的字符串,关键字与它的值
4 $ch=curl_init(); //初始化一个curl
5 curl_setopt($ch,CURLOPT_URL,'http://www.example.com/index.php'); //设置目标URL
6 curl_setopt($ch,CURLOPT_POST,1); //设置使用POST发送数据
7 curl_setopt($ch,CURLOPT_POSTFIELDS,$curlPost); //设置POST数据内容为前面定义的字符串
8 curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //设置是否输出返回结果(设置为不打印)
9 $data=curl_exec($ch); //执行请求并返回结果
10 curl_close($ch); //关闭CURL
11 echo $data; //输出结果
12 ?>

 

以上代码实现了一个向指定网页发送POST数据,并输出它返回结果的代码。实际使用时,返回结果后,可以通过正则替换来获取真正想要的内容,就可以实现把别人的、别的网站的内容归入自己站点了。 不过这样的缺点是,当目标网站挂掉之后,你就不会获取任何内容了。 另外使用CURL类函数,需要加载CURL扩展,否则会提示你函数未定义。

posted @ 2010-12-22 22:49  luoine  阅读(1159)  评论(0编辑  收藏  举报