「已注销」 2016-08-02 08:34 采纳率: 0%
浏览 1768

关于file_get_content() curl的问题

环境: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也不会报程序运行时候的错误

  • 写回答

1条回答 默认 最新

  • 鱼弦 全栈领域优质创作者 2016-08-02 08:41
    关注

    一个简单的请求网页:
    <?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 matlab实现基于主成分变换的图像融合。
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊