php中Curl函数常用的两个例子
例子, 模拟登陆
代码如下 | |
/** * 模拟登陆 * $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; } |

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Atom editor mac version download
The most popular open source editor

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

Zend Studio 13.0.1
Powerful PHP integrated development environment

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

SublimeText3 Chinese version
Chinese version, very easy to use