0

0

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

php中文网

php中文网

发布时间:2016-05-25 16:38:02

|

1538人浏览过

|

来源于php中文网

原创

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) ;


永久链接:

维普科创助手
维普科创助手

AI驱动的一站式科研资源服务平台

下载

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

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

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

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

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
AO3官网入口与中文阅读设置 AO3网页版使用与访问
AO3官网入口与中文阅读设置 AO3网页版使用与访问

本专题围绕 Archive of Our Own(AO3)官网入口展开,系统整理 AO3 最新可用官网地址、网页版访问方式、正确打开链接的方法,并详细讲解 AO3 中文界面设置、阅读语言切换及基础使用流程,帮助用户稳定访问 AO3 官网,高效完成中文阅读与作品浏览。

3

2026.02.02

主流快递单号查询入口 实时物流进度一站式追踪专题
主流快递单号查询入口 实时物流进度一站式追踪专题

本专题聚合极兔快递、京东快递、中通快递、圆通快递、韵达快递等主流物流平台的单号查询与运单追踪内容,重点解决单号查询、手机号查物流、官网入口直达、包裹进度实时追踪等高频问题,帮助用户快速获取最新物流状态,提升查件效率与使用体验。

0

2026.02.02

Golang WebAssembly(WASM)开发入门
Golang WebAssembly(WASM)开发入门

本专题系统讲解 Golang 在 WebAssembly(WASM)开发中的实践方法,涵盖 WASM 基础原理、Go 编译到 WASM 的流程、与 JavaScript 的交互方式、性能与体积优化,以及典型应用场景(如前端计算、跨平台模块)。帮助开发者掌握 Go 在新一代 Web 技术栈中的应用能力。

1

2026.02.02

PHP Swoole 高性能服务开发
PHP Swoole 高性能服务开发

本专题聚焦 PHP Swoole 扩展在高性能服务端开发中的应用,系统讲解协程模型、异步IO、TCP/HTTP/WebSocket服务器、进程与任务管理、常驻内存架构设计。通过实战案例,帮助开发者掌握 使用 PHP 构建高并发、低延迟服务端应用的工程化能力。

1

2026.02.02

Java JNI 与本地代码交互实战
Java JNI 与本地代码交互实战

本专题系统讲解 Java 通过 JNI 调用 C/C++ 本地代码的核心机制,涵盖 JNI 基本原理、数据类型映射、内存管理、异常处理、性能优化策略以及典型应用场景(如高性能计算、底层库封装)。通过实战示例,帮助开发者掌握 Java 与本地代码混合开发的完整流程。

1

2026.02.02

go语言 注释编码
go语言 注释编码

本专题整合了go语言注释、注释规范等等内容,阅读专题下面的文章了解更多详细内容。

61

2026.01.31

go语言 math包
go语言 math包

本专题整合了go语言math包相关内容,阅读专题下面的文章了解更多详细内容。

52

2026.01.31

go语言输入函数
go语言输入函数

本专题整合了go语言输入相关教程内容,阅读专题下面的文章了解更多详细内容。

25

2026.01.31

golang 循环遍历
golang 循环遍历

本专题整合了golang循环遍历相关教程,阅读专题下面的文章了解更多详细内容。

10

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
【web前端】Node.js快速入门
【web前端】Node.js快速入门

共16课时 | 2万人学习

Go语言实战之 GraphQL
Go语言实战之 GraphQL

共10课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

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