curl基本操作详解,PHP扩张CURubiconL的用法详解

实现的功能:

今天接到的功课是从一个网站获取商品库存,但是这个网站需要登录,我用fsockopen传递了整个header头都没用,只能求助于curl了。
附带说一下curl模块的开启办法:
(1)从php目录下拷贝:libeay32.dll,ssleay32.dll 到windows目录下。
(2)打开php.ini,查找“extension_dir =
xxxxx”,确认后面的文件目录内有php_curl.dll文件。
(3)同样是php.ini,查找“extension=php_curl.dll”,确认它没有被注释(前面没有’;’)。
(4)重启apache,如果使用curl_init();语句出现错误提示,则说明没有安装成功。

cURL是与各种的服务器使用各种类型的协议进行连接和通讯的工具。它是一个强大的库支持http、https、ftp、telnet、file等协议,同时也支持HTTPS认证、HTTP
POST、HTTP PUT、 FTP 上传、HTTP
基于表单的上传、代理、cookies和用户名+密码的认证。

1、实现远程获取和采集内容

复制代码 代码如下:

可能大家也用过file_get_contents()函数,但是这种做法如处理coockies、验证、表单提交、文件上传等等就力不从心了。

2、实现PHP 网页版的FTP上传下载

$curl = curl_init();
$cookie_jar = tempnam(‘./tmp’,’cookie’);
curl_setopt($curl,
CURLOPT_URL,’
curl_setopt($curl, CURLOPT_POST, 1);
$request = ‘user=xxx&password=xxx’;
curl_setopt($curl, CURLOPT_POSTFIELDS, $request);//传 递数据
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_jar);//
把返回来的cookie信息保存在$cookie_jar文件中
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//设定返回
的数据是否自动显示
curl_setopt($curl, CURLOPT_HEADER, false);//设定是否显示头信 息
curl_setopt($curl, CURLOPT_NOBODY, false);//设定是否输出页面 内容
curl_exec($curl);//返回结果
curl_close($curl); //关闭

使用cURL的基本方法如下: 首先修改php.ini文件的设置,找到php_curl.dll,取消下在的注释extension=php_curl.dll,因为php默认是不开启cURL的。

然后就是基本步骤:
1.初始化
2.设置变量 (curl_setopt)
3.执行并获取结果 (curl_exec)
4.输出
php实例如下:

3、实现模拟登陆:去一个邮件系统,curl可以模拟cookies

$curl2 = curl_init();
curl_setopt($curl2, CURLOPT_URL,

curl_setopt($curl2, CURLOPT_HEADER, false);
curl_setopt($curl2, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl2, CURLOPT_COOKIEFILE, $cookie_jar);
$content = curl_exec($curl2);

复制代码 代码如下:

4、实现接口对接(API),数据传输等:通过一个平台发送短信啊,抓取和传递所传输的信息。

您可能感兴趣的文章:

  • PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
  • PHP读取CURL模拟登录时生成Cookie文件的方法
  • PHP中使用CURL模拟登录并获取数据实例
  • PHP CURL模拟登录新浪微博抓取页面内容
    基于EaglePHP框架开发
  • PHP
    Curl模拟登录微信公众平台、新浪微博实例代码
  • PHP
    curl模拟登录带验证码的网站
  • php使用curl代理实现抓取数据的方法
  • php通过curl添加cookie伪造登陆抓取数据的方法
  • PHP
    CURL获取cookies模拟登录的方法
  • PHP使用Curl实现模拟登录及抓取数据功能示例

<?php
// 初始化
$ch = curl_init();
// 设置选项,包括URL
curl_setopt($ch, CURLOPT_URL,””);
//是否将参数返回到页面中(0表示是1表示否)
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HEADER,0);
//执行并获取HTML文档内容
$output = curl_exec($ch);
// 关闭url
curl_close($ch);
?>

5、实现模拟Cookie等:登陆的状态下才可以操作一些属性。

您可能感兴趣的文章:

  • PHP函数分享之curl方式取得数据、模拟登陆、POST数据
  • PHP CURL获取返回值的方法
  • PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
  • php使用curl抓取qq空间的访客信息示例
  • 澳门网上正规赌场网址,PHP curl
    获取响应的状态码的方法
  • php curl模拟post请求小实例
  • 解析PHP
    使用curl提交json格式数据
  • PHP中使用cURL实现Get和Post请求的方法
  • PHP CURL模拟登录新浪微博抓取页面内容
    基于EaglePHP框架开发
  • php
    curl常见错误:SSL错误、bool(false)
  • 基于PHP的cURL快速入门教程
    (小偷采集程序)
  • 开启CURL扩展,让服务器支持PHP
    curl函数(远程采集)
  • 在PHP中使用curl_init函数的说明
  • php运行出现Call to undefined function
    curl_init()的解决方法
  • php的curl实现get和post的代码
  • PHP扩展CURL的用法详解

如何使用CURL功能

默认情况加PHP是不支持CURL的,需要在php.ini中开启该功能

;extension=php_curl.dll前面的分号去掉

1  整个操作过程中第一步是用cur_init()函数进行初始化

$curl = curl_init(‘www.jb51.net')

2.用curl_setopt()函数进行设置选项。

3.设置后,进行执行事务 curl_exec($curl);

4 最后关闭curl_close();

使用PHP CURL实现传输和获取功能(post传输方式):获取远程网页数据

$user = "admin";
$pass = "admin";
$curlPost = "user=$user&pass=$pass";
$ch = curl_init(); //初始化一个CURL对象
curl_setopt($ch, CURLOPT_URL, "http://localhost/edu/login.php");
//设置你所需要抓取的URL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
//设置curl参数,要求结果是否输出到屏幕上,为true的时候是不返回到网页中
假设上面的0换成1的话,那么接下来的$data就需要echo一下。
curl_setopt($ch, CURLOPT_POST, 1);
//post提交
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
$data = curl_exec($ch);
//运行curl,请求网页。
curl_close($ch);
[/code]

实现远程模拟登陆最基础部分。

curl也还是需要配置用户名和密码的,只不过是被浏览器隐藏了。

============================================================================

curl模拟登陆

模拟登陆:就是不登陆到php100的论坛,也能查看到相应的信息。

分析登陆字段—>登陆后保留cookie状–>读取cookie并跳转到相关页–>抓取数

1、模拟登陆后创建一个文件保存cookie内容

2、通过读取生成的cookie内容模拟用户登陆状态

3、到相关页面获取所需内容

tempname创建一个临时文件

tempnam() 函数创建一个具有唯一文件名的临时文件。
若成功,则该函数返回新的临时文件名。若失败,则返回 false。

tempnam(dir,prefix)

参数 描述

dir 必需。规定创建临时文件的目录。

prefix 必需。规定文件名的开头。

相当于,fopen  fwirte  fclose

它可以返回一个布尔值。使用第三方来登陆你的QQ、msn是很危险的,因为它可以记录你的登录状态,抓取你的用户名和密码。

使用CURL模拟登陆到PHP100论坛

1、分析登陆所需input框字段名和所需字段数量

2、保存cookie 模拟登陆后获取会员金币数量

代码:

//初始化一个 cURL 对象
$curl = curl_init();
//设置你需要抓取的URL
curl_setopt($curl, CURLOPT_URL, " http://www.baidu.com ");
//设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 0);
//运行cURL,请求网页
$data = curl_exec($curl);
//关闭URL请求
curl_close($curl);
$user = "admin";
$pass = "admin100";
$curlPost = "user=$user&pass=$pass";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, " http://localhost/curl/login.php ");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
$data = curl_exec($ch);
curl_close($ch);
?>
if($_POST['user']=="admin"){
 echo "";
}else{
 echo "";
}
//print_r($_POST);
?>

您可能感兴趣的文章:

  • 开启CURL扩展,让服务器支持PHP
    curl函数(远程采集)
  • php之curl实现http与https请求的方法
  • php之curl设置超时实例
  • PHP下使用CURL方式POST数据至API接口的代码
  • php使用curl访问https示例分享
  • php中使用Curl、socket、file_get_contents三种方法POST提交数据
  • PHP curl
    获取响应的状态码的方法
  • PHP CURL获取返回值的方法
  • php curl
    伪造IP来源的实例代码
  • php
    curl优化下载微信头像的方法总结

Post Author: admin

发表评论

电子邮件地址不会被公开。 必填项已用*标注