首页 > php教程 > php手册 > 正文

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

php中文网
发布: 2016-05-25 16:38:02
原创
1534人浏览过

curl实现get提交数据,代码如下:

// 初始化一个 cURL 对象 
$curl = curl_init(); 
// 设置你需要抓取的URL 
curl_setopt($curl, CURLOPT_URL, 'http://www.phprm.com'); 
// 设置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.phprm.com' ; 
$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) ;
登录后复制


永久链接:

Symanto Text Insights
Symanto Text Insights

基于心理语言学分析的数据分析和用户洞察

Symanto Text Insights 84
查看详情 Symanto Text Insights

转载随意!带上文章地址吧。

立即学习PHP免费学习笔记(深入)”;

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号