环境:win7 Apache/2.4.23 (Win64) PHP/5.6.23
我想做一个抓取网页的程序名为test.php通过localhost/test.php,开始用到了php自带的file_get_content()函数获取网页的内容,当我第一个参数填写http://www.baidu.com的时候页面可以正常抓取,但当我抓取http://www.newsmth.net/nForum/#!board/HouseRent的时候页面就会跳转到localhost/index页面显示NotFound也不会报程序运行时候的错误
关于file_get_content() curl的问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注 一个简单的请求网页:
<?php
$curl = culr_init();//初始化一个cURL对象
$url = "http://cart.jd.com/cart/cart.html?backurl=http://item.jd.com/176166.html&rid=0.9533184533 938766";
$header = array();
$header[] = 'User-Agent: 5.0 (iPhone; U; CPU iPhone OS 4_3 like Mac OS X; en-us)';
$header[] = 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
$header[]= 'Accept-Encoding: gzip,deflate';
$header[]= '//可以根据需要增加header内容';
curl_setopt($culr,CURLOPT_URL, $url);//设置你需要抓去的URL地址
curl_setopt($curl,CURLOPT_HEADER,$header );//设置header
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);//将结果返回输出到字符串
$str = curl_exec($culr);运行cURL,请求网页
curl_close($curl);//关闭url请求
return $str;//返回或者显示结果
?>如何post数据:
//假设我们去post一个表单到http://www.example.com/sendSMS.php
//提交内容 一个是电话号码,一个短信内容
<?php
$phoneNumber = '13598785110';
$message = 'this is a test message about cURL to POST URL';
$curlPost = 'pNUMBER='.$phoneNumber.'&MESSAGE='.urlencode($message).'&SUBMIT=Send';//拼接请求参数
$url = 'http://www.example.com/sendSMS.php';
$header[] = '........';
$curl = curl_init();
curl_setopt($curl,CURLOPT_URL,$url);
curl_setopt($curl,CURLOPT_HEADER,$header);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl,CURLOPT_POST,1);//设置请求方式为post
curl_seropt($curl,CURLOPT_POSTFIELDS,$curlPost);//设置post数据
$data = curl_exec(curl);
curl_close($curl)?>
解决 无用评论 打赏 举报
悬赏问题
- ¥15 对于相关问题的求解与代码
- ¥15 ubuntu子系统密码忘记
- ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
- ¥15 保护模式-系统加载-段寄存器
- ¥15 电脑桌面设定一个区域禁止鼠标操作
- ¥15 求NPF226060磁芯的详细资料
- ¥15 使用R语言marginaleffects包进行边际效应图绘制
- ¥20 usb设备兼容性问题
- ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
- ¥15 安装svn网络有问题怎么办