PHP利用curl实现get与POST提交数据

作者:袖梨 2022-06-24


curl实现get提交数据

 代码如下 复制代码
// 初始化一个 cURL 对象
$curl = curl_init();
// 设置你需要抓取的URL
curl_setopt($curl, CURLOPT_URL, 'http://www.111com.net');
// 设置header, 最后一个参数是0表示返回值不带有header,1表示带有header
curl_setopt($curl, CURLOPT_HEADER, 0);
// 设置浏览器的特定header,可选,如果目标网站有要求的话
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"User-Agent: {'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6 (.NET CLR 3.5.30729)'}",
"Accept-Language: {en-us,en;q=0.5}"
));
//或者只设置user-agent,可选,如果目标网站有要求的话
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1");
// 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上,1表示保存到字符串
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
// 页面内容不需要时,设置为1. 默认为0
curl_setopt($ch, CURLOPT_NOBODY, 1);
// 运行cURL,请求网页,保存在$data
$data = curl_exec($curl);
// 关闭URL请求
curl_close($curl);
//检查错误
//比较的时候我们用的是“=== FALSE”,而非“== FALSE”,因为我们得区分’空输出‘和’布尔值FALSE‘
if ($output === FALSE) {
echo "cURL Error: " . curl_error($ch);
}
//可以获取信息
$info = curl_getinfo($ch);
echo '获取'. $info['url'] . '耗时'. $info['total_time'] . '秒';
/* ...返回的数组中包括了以下信息:
“url” //资源网络地址
“content_type” //内容编码
“http_code” //HTTP状态码
“header_size” //header的大小
request_size” //请求的大小
“filetime” //文件创建时间
“ssl_verify_result” //SSL验证结果
“redirect_count” //跳转技术
“total_time” //总耗时
“namelookup_time” //DNS查询耗时
“connect_time” //等待连接耗时
“PRetransfer_time” //传输前准备耗时
“size_upload” //上传数据的大小
“size_download” //下载数据的大小
“speed_download” //下载速度
“speed_upload” //上传速度
“download_content_length”//下载内容的长度
“upload_content_length” //上传内容的长度
“starttransfer_time” //开始传输的时间
“redirect_time”//重定向耗时
*/

curl实现POST提交数据

http的post实现

 代码如下 复制代码

//extract data from the post
extract($_POST) ; 
//set POST variables
$url = 'http://www.111com.net' ;
$fields = array(
            'lname'=>urlencode($last_name) ,
            'fname'=>urlencode($first_name) ,
            'title'=>urlencode($title) ,
            'company'=>urlencode($institution) ,
            'age'=>urlencode($age) ,
            'email'=>urlencode($email) ,
            'phone'=>urlencode($phone)
        ); 
//url-ify the data for the POST
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&' ; }
rtrim($fields_string ,'&') ;
//open connection
$ch = curl_init() ;
//set the url, number of POST vars, POST data
curl_setopt($ch, CURLOPT_URL,$url) ;
curl_setopt($ch, CURLOPT_POST,count($fields)) ;
curl_setopt($ch, CURLOPT_POSTFIELDS,$fields_string) ;
//execute post
$result = curl_exec($ch) ;
//close connection
curl_close($ch) ;

相关文章

精彩推荐