来源:自学PHP网 时间:2014-11-27 22:16 作者: 阅读:次
[导读] 下面总结了在php中有两种可以模仿用户进入登录或post数据的实现方法,对大家很有用,有需要的朋友可参考一下.通过curl函数:PHP中的CURL函数库(Client URL Library Function)curl_close 关......
php中模拟POST提交数据两种方法下面总结了在php中有两种可以模仿用户进入登录或post数据的实现方法,对大家很有用,有需要的朋友可参考一下. 通过curl函数:PHP中的CURL函数库(Client URL Library Function) curl_close — 关闭一个curl会话 curl_copy_handle — 拷贝一个curl连接资源的所有内容和参数 curl_errno — 返回一个包含当前会话错误信息的数字编号 curl_error — 返回一个包含当前会话错误信息的字符串 curl_exec — 执行一个curl会话 curl_getinfo — 获取一个curl连接资源句柄的信息 curl_init — 初始化一个curl会话 curl_multi_add_handle — 向curl批处理会话中添加单独的curl句柄资源 curl_multi_close — 关闭一个批处理句柄资源 curl_multi_exec — 解析一个curl批处理句柄 curl_multi_getcontent — 返回获取的输出的文本流 curl_multi_info_read — 获取当前解析的curl的相关传输信息 curl_multi_init — 初始化一个curl批处理句柄资源 curl_multi_remove_handle — 移除curl批处理句柄资源中的某个句柄资源 curl_multi_select — Get all the sockets associated with the cURL extension, which can then be "selected" curl_setopt_array — 以数组的形式为一个curl设置会话参数 curl_setopt — 为一个curl设置会话参数 curl_version — 获取curl相关的版本信息 curl_init()函数的作用初始化一个curl会话,curl_init()函数唯一的一个参数是可选的,表示一个url地址。 curl_exec()函数的作用是执行一个curl会话,唯一的参数是curl_init()函数返回的句柄。 curl_close()函数的作用是关闭一个curl会话,唯一的参数是curl_init()函数返回的句柄。 例,代码如下:
模仿用户登录,模拟登录到sina,我们要抓取数据,可能是登录以后的内容,这个时候我们就要用到curl的模拟登录功能了,代码如下:
2.通过fsockopen .PHP fsockopen函数说明: Open Internet or Unix domain socket connection(打开套接字链接) Initiates a socket connection to the resource specified by target . fsockopen() returns a file pointer which may be used together with the other file functions (such as fgets() , fgetss() , fwrite() , fclose() , and feof() ).就是返回一个文件句柄 开启PHP fsockopen这个函数,PHP fsockopen需要 PHP.ini 中 allow_url_fopen 选项开启,代码如下:
如果出现:Warning: fsockopen() has been disabled for security reasons in D:…cos-html-cachecos-html-cache.php on line 35 换了其他版本的cos-html-cache,还是不行,后来找到下面的方法,结果不行,因为函数都被禁用了,大家试下,很少有我这样的情况的,用其他替代函数. 一、如何禁用fsockopen() 下面是两种常用的禁用fsockopen的方法. 1、修改php.ini,将 disable_functions = 后加入 fsockopen 2、修改php.ini,将 allow_url_fopen = On 改为 allow_url_fopen = Off 二、如何解决fsockopen函数被禁用 1、如果服务器没有同时禁用pfsockopen,那么直接将fsockopen函数替换为pfsockopen. 具体操作:搜索程序中的字符串fsockopen替换为 pfsockopen示例如下. 修改前:$fp = fsockopen($host,80,$errno,$errstr,30); 修改后:$fp = pfsockopen($host,80,$errno, $errstr,30); |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com