cari
Rumahphp教程php手册php中Curl函数常用的两个例子

php中Curl函数常用的两个例子

Jun 13, 2016 am 09:43 AM
curlphpposturlkodcontohfungsialamatsimulasipraktikalLog masukbertanya

   例子, 模拟登陆

 代码如下  
/**
* 模拟登陆
* $url 请求地址
* $post 需要POST的数据
* $cookie 登陆时取的的COOKIE
* $cookiejar cookie要存到的位置 例如/tmp/test.cookie
* $referer 上页地址
*
**/
function vcurl($url, $post = '', $cookie = '', $cookiejar = '', $referer = ''){
$tmpInfo = '';
//用来存放cookie的文件
//初始化curl
$curl = curl_init();
//设定目标网址
curl_setopt($curl, CURLOPT_URL, $url);
//使用目前所用的浏览器代理
curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
//curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
//如果有Ref参数,则设置Referer头,否则自动设置Referer头
if($referer) {
curl_setopt($curl, CURLOPT_REFERER, $referer);
} else {
curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
}
//如果有post数据参数,则方法为POST,并且设置数据,否则为GET
if($post) {
//发送一个常规的POST请求,默认类型为:application/x-www-form-urlencoded,www.111cn.net表单提交
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
}
//如果有cookie参数,则设置
if($cookie) {
curl_setopt($curl, CURLOPT_COOKIE, $cookie);
}
//如果有cookie文件参数,则设置存取Cookie文件名
if($cookiejar) {
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookiejar);
curl_setopt($curl, CURLOPT_COOKIEFILE, $cookiejar);
}
//如果是302转移,则返回转移后的网址及内容
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
//设置执行的最大秒数
curl_setopt($curl, CURLOPT_TIMEOUT, 100);
//返回内容中是否包含头信息
curl_setopt($curl, CURLOPT_HEADER, 0);
//把返回的结果存在文件或者变量中,而不是直接显示在浏览器
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//执行函数后的返回结果
$tmpInfo = curl_exec($curl);
//如果出错,显示错误信息
if (curl_errno($curl)) {
$tmpInfo = '
<b>错误:</b><br>'.curl_error($curl);<br>
            }<br>
            //关闭curl对象<br>
            curl_close($curl);<br>
            //返回结果<br>
            return  $tmpInfo;<br>
            }

  例子、soap

 代码如下  
function vcurlsoap($url, $SoapRequest, $SoapAction) {
$ch = curl_init (); //initiate the curl session
curl_setopt ( $ch, CURLOPT_URL, $url ); //set to url to post to
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); // return data in a variable
curl_setopt ( $ch, CURLOPT_HEADER, 0 );
curl_setopt ( $ch, CURLOPT_POST, 1 );
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $SoapRequest ); // post the xml
curl_setopt ( $ch, CURLOPT_TIMEOUT, 60 ); // set timeout in seconds
curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, 0 );
$header = array ("Content-Type: text/xml" );
$header [] = "Content-Length: ".strlen($SoapRequest);
if (! is_null ( $SoapAction ))
$header [] = 'SOAPAction: "' . $SoapAction . '"';
curl_setopt ( $ch, CURLOPT_HTTPHEADER, $header );
$xmlResponse = curl_exec ( $ch );
curl_close ( $ch );
return $xmlResponse;
}
Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.