zoukankan      html  css  js  c++  java
  • php -- php模拟浏览器访问网址

    目前我所了解到的在php后台中,用php模拟浏览器访问网址的方法有两种:

    第一种:模拟GET请求:file_get_contents($url)

    通过php内置的 file_get_contents 函数可以模拟浏览器访问网址的行为,取的结果就是那个网址所返回的所有东西(这种情况一般用于返回的是 xml 格式字符串或者 json 字符串)

    第二种:模拟GET/POST请求:curl

    curl 是 php 提供的内置函数,其功能非常强大,封装常用的http,soap,ftp等协议

    微信主要通过其进行模拟POST请求 

    1)初始化curl

    2)设置参数

    3)执行curl

    4)关闭句柄

    示例代码:

    1、初始化     $ch = curl_init()
    2、设置参数 curl_setopt($ch,参数)
    3、执行 curl_exec($ch)
    4、关闭 curl_close($ch)
    5、输出错误信息:curl_error($ch)

    2步设置时,常用参数

    CURLOPT_URL  请求url
    
    CURLOPT_RETURNTANSFER(1)捕获url响应信息,不输出
    
    CURLOPT_HEADER(0或1) 设置请求头信息
    
    CURLOPT_POST(1) 设置是否使用POST请求,1开启
    
    CURLOPT_POSTFIELDS 设置传输的数据,数组

    例子:

    微信机器人:小黄鸡
    <?php header('Content-type:text/html;charset=utf-8'); $url = "http://www.xiaohuangji.com/ajax.php"; //1、初始化curl $ch = curl_init(); //2、设置参数,参数1初始化$ch,参数2设置常量,参数3常量的值 //设置请求url网址 curl_setopt($ch,CURLOPT_URL,$url); //捕获url响应信息不输出 curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //设置请求头信息 curl_setopt($ch,CURLOPT_HEADER,0); //设置传输post数组 $data = array( 'para'=>'你是男的还是女的' ); //设置开启POST请求 curl_setopt($ch,CURLOPT_POST,1); //传输参数值 curl_setopt($ch,CURLOPT_POSTFIELDS,$data); //3、执行curl $output = curl_exec($ch); //4、关闭句柄 curl_close($ch); if($output === False) { echo 'error:'.curl_error($ch); } echo $output; ?>
  • 相关阅读:
    深入理解Linux修改hostname
    Linux开发环境必备十大开发工具
    管理员必备的几个Linux系统监控工具
    Solaris&&QNX® Neutrino®&&OpenVMS&&FreeBSD&&AIX
    ansible来了
    Cobbler系统安装备用链接
    Web安全
    在Eclipse/STS中使用EclEmma进行覆盖率检查
    C#中使用扩展方法
    Winform中Textbox的使用
  • 原文地址:https://www.cnblogs.com/hf8051/p/5074549.html
Copyright © 2011-2022 走看看