|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
不断巩固,摸透大部分PHP常用函数,并可理解OOP,MYSQL优化,以及模板 bool curl_setopt (int ch, string option, mixed value)
curl_setopt()函数将为一个CURL会话设置选项。option参数是你想要的设置,value是这个选项给定的值。
以下选项的值将被作为长整形利用(在option参数中指定):
*CURLOPT_INFILESIZE: 当你上传一个文件到近程站点,这个选项告知PHP你上传文件的巨细。
*CURLOPT_VERBOSE: 假如你想CURL呈报每件不测的工作,设置这个选项为一个非零值。
*CURLOPT_HEADER: 假如你想把一个头包括在输入中,设置这个选项为一个非零值。
*CURLOPT_NOPROGRESS: 假如你不会PHP为CURL传输显示一个历程条,设置这个选项为一个非零值。
注重:PHP主动设置这个选项为非零值,你应当仅仅为了调试的目标来改动这个选项。
*CURLOPT_NOBODY: 假如你不想在输入中包括body局部,设置这个选项为一个非零值。
*CURLOPT_FAILONERROR: 假如你想让PHP在产生毛病(HTTP代码前往大于等于300)时,不显示,设置这个选项为一人非零值。默许行动是前往一个正常页,疏忽代码。
*CURLOPT_UPLOAD: 假如你想让PHP为上传做筹办,设置这个选项为一个非零值。
*CURLOPT_POST: 假如你想PHP去做一个正轨的HTTP POST,设置这个选项为一个非零值。这个POST是通俗的 application/x-www-from-urlencoded 类型,多半被HTML表单利用。
*CURLOPT_FTPLISTONLY: 设置这个选项为非零值,PHP将列出FTP的目次名列表。
*CURLOPT_FTPAPPEND: 设置这个选项为一个非零值,PHP将使用近程文件取代掩盖它。
*CURLOPT_NETRC: 设置这个选项为一个非零值,PHP将在你的 ~./netrc 文件中查找你要创立毗连的近程站点的用户名及暗码。
*CURLOPT_FOLLOWLOCATION: 设置这个选项为一个非零值(象 “Location: “)的头,办事器会把它当作HTTP头的一局部发送(注重这是递归的,PHP将发送形如 “Location: “的头)。
*CURLOPT_PUT: 设置这个选项为一个非零值去用HTTP上传一个文件。要上传这个文件必需设置CURLOPT_INFILE和CURLOPT_INFILESIZE选项.
*CURLOPT_MUTE: 设置这个选项为一个非零值,PHP关于CURL函数将完整缄默。
*CURLOPT_TIMEOUT: 设置一个长整形数,作为最大延续几何秒。
*CURLOPT_LOW_SPEED_LIMIT: 设置一个长整形数,掌握传送几何字节。
*CURLOPT_LOW_SPEED_TIME: 设置一个长整形数,掌握几何秒传送CURLOPT_LOW_SPEED_LIMIT划定的字节数。
*CURLOPT_RESUME_FROM: 传递一个包括字节偏移地址的长整形参数,(你想转移到的入手下手表单)。
*CURLOPT_SSLVERSION: 传递一个包括SSL版本的长参数。默许PHP将被它本人勉力切实其实定,在更多的平安中你必需手工设置。
*CURLOPT_TIMECONDITION: 传递一个长参数,指定怎样处置CURLOPT_TIMEVALUE参数。你可以设置这个参数为TIMECOND_IFMODSINCE 或 TIMECOND_ISUNMODSINCE。这仅用于HTTP。
*CURLOPT_TIMEVALUE: 传递一个从1970-1-1入手下手到如今的秒数。这个工夫将被CURLOPT_TIMEVALUE选项作为指定值利用,或被默许TIMECOND_IFMODSINCE利用。
以下选项的值将被作为字符串:
*CURLOPT_URL: 这是你想用PHP取回的URL地址。你也能够在用curl_init()函数初始化时设置这个选项。
*CURLOPT_USERPWD: 传递一个形如[username]:[password]作风的字符串,感化PHP去毗连。
*CURLOPT_PROXYUSERPWD: 传递一个形如[username]:[password] 格局的字符串去毗连HTTP代办署理。
*CURLOPT_RANGE: 传递一个你想指定的局限。它应当是”X-Y”格局,X或Y是被除外的。HTTP传送一样撑持几个距离,用逗句来分隔(X-Y,N-M)。
*CURLOPT_POSTFIELDS: 传递一个作为HTTP “POST”操作的一切数据的字符串。
*CURLOPT_REFERER: 在HTTP恳求中包括一个”referer”头的字符串。
*CURLOPT_USERAGENT: 在HTTP恳求中包括一个”user-agent”头的字符串。
*CURLOPT_FTPPORT: 传递一个包括被ftp “POST”指令利用的IP地址。这个POST指令告知近程办事器去毗连咱们指定的IP地址。 这个字符串可所以一个IP地址,一个主机名,一个收集界面名(在UNIX下),或是‘-'(利用体系默许IP地址)。
*CURLOPT_COOKIE: 传递一个包括HTTP cookie的头毗连。
*CURLOPT_SSLCERT: 传递一个包括PEM格局证书的字符串。
*CURLOPT_SSLCERTPASSWD: 传递一个包括利用CURLOPT_SSLCERT证书必须的暗码。
*CURLOPT_COOKIEFILE: 传递一个包括cookie数据的文件的名字的字符串。这个cookie文件可所以Netscape格局,或是堆存在文件中的HTTP作风的头。
*CURLOPT_CUSTOMREQUEST: 当停止HTTP恳求时,传递一个字符被GET或HEAD利用。为停止DELETE或其它操作是无益的,更Pass a string to be used instead of GET or HEAD when doing an HTTP request. This is useful for doing or another, more obscure, HTTP request.
注重: 在确认你的办事器撑持号令先不要去如许做。
以下的选项请求一个文件描写(经由过程利用fopen()函数取得):
*CURLOPT_FILE: 这个文件将是你放置传送的输入文件,默许是STDOUT.
*CURLOPT_INFILE: 这个文件是你传送过去的输出文件。
*CURLOPT_WRITEHEADER: 这个文件写有你输入的头局部。
*CURLOPT_STDERR: 这个文件写有毛病而不是stderr。
用来获得需求登录的页面的例子,以后做法是每次也许都登录一次,有需求的人再做改善了。
例子:
复制代码 代码以下:
<?php
$cookie_jar = tempnam(‘./tmp',‘cookie');
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, ‘http://www.QQView.com');
curl_setopt( $ch, CURLOPT_POST, 1);
$request = ‘email_address=&password=&action=';
curl_setopt( $ch, CURLOPT_POSTFIELDS, $request);
//把前往来的cookie信息保留在 $cookie_jar文件中
curl_setopt( $ch, CURLOPT_COOKIEJAR, $cookie_jar);
//设定前往的数据是不是主动显示
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1);
//设定是不是显示头信息
curl_setopt( $ch, CURLOPT_HEADER, false);
//设定是不是输入页面内容
curl_setopt( $ch, CURLOPT_NOBODY, false);
curl_exec( $ch);
curl_close( $ch);
//get data after login
$ch2 = curl_init();
curl_setopt( $ch2, CURLOPT_URL, ‘http://*****');
curl_setopt( $ch2, CURLOPT_HEADER, false);
curl_setopt( $ch2, CURLOPT_RETURNTRANSFER, 1);
curl_setopt( $ch2, CURLOPT_COOKIEFILE, $cookie_jar);
$orders = curl_exec( $ch2);
echo ‘<pre>';
echo strip_tags( $orders);
echo ‘</pre>';
curl_close( $ch2);
?>
看看西,人家这个编论坛,那个CMS,还有那啥CRM,我啥时候写一个呢? |
|