XChinux's Home

过往资料可到百度空间http://hi.baidu.com/xchinux

http://www.qtcn.org/bbs/u/2  [收藏] [复制]

XChinux

爱Qt,爱N9,qtcn.org

  • 632

    关注

  • 2178

    粉丝

  • 6394

    访客

  • 等级:光明使者
  • 身份:总版主
  • 总积分:11224
  • 男,1979-01-01
  • 山西

最后登录:2024-01-27

更多资料

日志

PHP中使用curl库获取网页内容如何POST数据以及保持会话

2011-06-12 12:50

2009-02-18  13:31
      /**
       * 使用CURL库获取网页内容,如果有post数据,则使用POST方法
       * @author        XChinux
       * @param         string $url       网址
       * @param         stirng $cookie  COOKIE保存文件,由开发者自己定义文件名字,以使文件内容保持一致以保持会话
       * @param         string $referer 引用网址
       * @param         mixed  $data      POST数据
       * @return        string            返回BODY部分内容
       * @final         2009-02-14
       */
      function curlFetch($url, $cookie = "", $referer = "", $data = null)
      {
          $ch = curl_init($url);
          curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  // 返回字符串,而非直接输出
          curl_setopt($ch, CURLOPT_HEADER, false);     // 不返回header部分
          curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120);     // 设置socket连接超时时间
          if (!empty($referer))
          {
              curl_setopt($ch, CURLOPT_REFERER, $referer);     // 设置引用网址
          }
          if (!empty($cookie))
          {
              curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);     // 设置从$cookie所指文件中读取cookie信息以发送
              curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);     // 设置将返回的cookie保存到$cookie所指文件
          }

          if (is_null($data))
          {
              // GET
          }
          else if (is_string($data))
          {
              curl_setopt($ch, CURLOPT_POST, true);
              curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
              // POST
          }
          else if (is_array($data))
          {
              // POST
              curl_setopt($ch, CURLOPT_POST, true);
              curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
          }
          set_time_limit(120);  // 设置自己服务器超时时间
          $str = curl_exec($ch);
          curl_close($ch);
          return $str;
      }
分类:编程技术|回复:0|浏览:2322|全站可见|转载
 

Powered by phpwind v8.7 Certificate Copyright Time now is:04-20 20:14
©2005-2016 QTCN开发网 版权所有 Gzip disabled