大学毕业论文模板_下载.doc_第1页
大学毕业论文模板_下载.doc_第2页
大学毕业论文模板_下载.doc_第3页
大学毕业论文模板_下载.doc_第4页
大学毕业论文模板_下载.doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

西南交通大学本科毕业设计 论文 第 I 页 大 学 毕业设计 论文 此处为论文题目 黑体 2 号字 以下各项居中列 黑体小四号 年 级 学 号 姓 名 专 业 指导老师 填写时间要用中文 大学本科毕业设计 论文 第 II 页 共 26 页 摘摘 要要 自微信公众号上线以来 全球微信用户已经超过了 6 亿 它是开发者 商家与微信用户和特定群体实现文 字 图片 语音 视频的全方位沟通 互动的一个很有效的方式 在这个信息时代谁能够掌握最新信息推送的 方法谁就能成功 所以 对于微信公众号的开发似乎是一种必然趋势 在本次设计中没有直接应用已经开发成 功的第三方平台 而是由搭建的 APACHE MYSQL PHP 服务环境作为开发平台 并置入 3GCMS 来作为微站管理系统 一个完整的微站作为公众号的后台 可以使公众号的功能能更加丰富 在接口开发方面 选用 PHP 语言定义 API 函数 当用户向服务器发送请求时由接口处理数据并将数据 post 给用户 通过 phpmyadmin 数据库管理工具 并建立月相图片数据库 流星雨信息数据库及查询功能项目数据库以便公实现众号的查询功能 此外 在本次 设计中使用 PHP curl 扩展模块网页爬虫抓取相关的月相信息 最终 整合各个模块功能后完成一个可以查询每 日月相与流星雨时刻查询功能的公众号 关键词 微信公众号 APACHE MYSQL PHP API curl AbstractAbstract Since the WeChat public number had been born more than 600 million person use it It is the best way to communication and interact with users and specil group by text images voices videos The one who can use this way to propaganda his products will be succeed So it is tendency to known and use the WeChat public number Seting up a APACHE MYSQL PHP website to as the development environment rather than using successful third party platform in this graduation project And using the 3GCMS as system to manage vwebsite that will make WeChat public number s function more richer On the other side I use PHP as application development language and use it to define API s function The API can handle the data that from user and post response to the user when the servicer get user s request Using phpmyadmin to manage MYSQL and building a image DB a starfall DB and a function option DB to achieve query function Besides using php curl function capture webpage s data to making sure acquire full information about phase of the moon Finally after rinergration each function module we get a WeChat public number that can query the phase of moon and starfall moment through the day of definely Keywords Keywords respond user s request APACHE MYSQL PHP API curl 大学本科毕业设计 论文 第 III 页 共 26 页 目目 录录 摘 要 IV ABSTRACT V 第 1 章 绪 论 1 1 1 本论文的背景和意义 1 1 2 本论文的主要方法和研究进展 1 1 3 本论文的主要内容 1 1 4 本论文的结构安排 1 第 2 章 各章题序及标题小 2 号黑体 2 2 1 各节点一级题序及标题小 3 号黑体 2 2 1 1 各节的二级题序及标题 4 号黑体 2 2 2 页眉 页脚说明 2 2 3 段落 字体说明 2 2 4 公式 插图和插表说明 2 结 论 5 致 谢 6 参考文献 7 附 录 1 标题 8 附 录 2 标题 9 大学本科毕业设计 论文 第 1 页 共 26 页 第第 1 1 章章 绪绪 论论 1 11 1 本论文的背景和意义本论文的背景和意义 微信 WeChat 是腾讯公司于 2011 年初推出的一款快速发送文字和照片 支 持多人语音对讲的手机聊天软件 用户可以通过手机或平板快速发送语音 视频 图片和文字 微信提供公众平台 朋友圈 消息推送等功能 用户可以通过 摇一摇 搜索号码 附近的人 扫二维码方式添加好友和关注公众平台 同时微信将内 容分享给好友以及将用户看到的精彩内容分享到微信朋友圈 截至 2013 年 11 月注册用户量已经突破 6 亿 是亚洲地区最大用户群体的移动 即时通讯软件 微信 是一个生活方式 这是微信的自我评价 是不是觉得如果那 天不在朋友圈里分享一下自己的最新状态 并且收到几个赞和评价的话 会觉得空 虚寂寞呢 它实实在在的改变了我们的生活方式 微信 也是一个生意方式 在微 信成为我们日常必备之 app 的同时 它同样具备巨大的的商业 或许不应该称为潜 力 因为有很多人已经获利 名人们在微信上开设公众账户来吸金 商家来做推广 服务行业借此拓展渠道 甚至微信已经支持支付了 还有越来越的自媒体在微信平 台涌现出来 微信公众号是开发者或商家在微信公众平台上申请的应用账号 该帐号与 QQ 账号互通 通过公众号 商家可在微信平台上实现和特定群体的文字 图片 语音 视频的全方位沟通 互动 微信公众号是未来媒体信息传播的一个重要的渠道 微 信公众账号是企业媒体发布平台 销售信息发布平台 危机公关平台 消费者互动 平台 促销活动开展平台 新品展示平台 产品在线销售平台 网上支付平台 调 研平台 公司企业文化传播平台 人才招聘平台等 一切企业关注的 企业需要的 在企业微信公众账号都可以实现 每个微信公众账号都将是一个 APP 微信产品 部副总经理张颖对外表达了他的团队对于未来微信发展方向的诠释 的确从 2011 年 1 0 版本面世至 今 微信逐步从单纯的手机聊天工具转变为连接人与服务的平台 这让众多企业对于微信这一目前中国最流行的 APP 有着巨大的市场憧憬 从 2012 年 8 月微信正式推出公众账号之时起 一度被看作是手机 QQ 翻版的微信得到了彻 底的升华 转身企业服务平台 而 5 0 版本的上线更加明确了微 信弱营销强服务的 发展路线 目前超过 200 万个公众账号表明越来越多的企业意识到了微信对于其自 身未来商业发展的重要性 如果说马云的阿里巴巴让企业有了 PC 互联网化思维的话 那么小马哥的微信则 正在改变着企业在移动互联网上的玩法 微信化 的路线逐渐侵蚀着传统企业老板 的神经 的确在未来线下企业的触网趋势已势不可挡 微信在近日面向公众平台开 放了九项高级接口 加之尚在测试的支付功能 此举无疑再次为移动互联网与传统 线下企业的发展确立了一个崭新的方向 而微信公众平台也已具备帮助企业完成 O2O 闭环流程的能力 腾讯公司高级副总裁 微信负责人张小龙曾表示 我们最 希望看到的是 微信能够提供一个平台 这个平台能让任何有想法的人都可以发挥 自己的潜力 我想这会让中国的互联网行业迸发出更多创新的思维 让用户享受到 更多优质体验 可以看出在未来微信公众号的重要性以及研究微信公众号的必要性 大学本科毕业设计 论文 第 2 页 共 26 页 1 21 2 微信公众平台服务号与订阅号微信公众平台服务号与订阅号 1 1 服务号 订阅号的介绍 区别 服务号 订阅号的介绍 区别 微信公众平台现在已分成订阅公众号和服务公众号两种类型 公众平台服务号 是公众平台的一种帐号类型 旨在为用户提供服务 特点 每月可群发一条信息给粉丝 群发的消息乃显示在聊天列表 下发消 息即时通知粉丝 适用用户 主要是给粉丝提供服务 一般银行和企业用户比较适合 招商 银 行 中国南方航空 公众平台订阅号 是公众平台的一种帐号类型 为用户提供信息和资讯 适用用户 主要是提供信息和资讯 一般媒体用户比较适合 如 骑行西 藏 央视新闻 特点 每天可群发一条消息给粉丝 群发消息收至订阅号文件夹 群发消 息不会提示推送 2 2 服务号的功能服务号的功能 公众平台服务号 是公众平台的一种帐号类型 旨在为用户提供服务 如 招商银行 中国南方航空 1 1 个月 30 天 内仅可以发送 1 条群发消息 2 发给订阅用户 粉丝 的消息 会显示在对方的聊天列表中 3 服务号会在订阅用户 粉丝 的通讯录中 4 服务号可申请自定义菜单 3 3 订阅号的功能订阅号的功能 公众平台订阅号 是公众平台的一种帐号类型 为用户提供信息和资讯 如骑行西藏 央视新闻 1 每天可以发送 1 条群发消息 每天 0 点更新 次数不会累加 2 发给订阅用户 粉丝 的消息 将会显示在对方的 订阅号 文件夹中 3 在订阅用户 粉丝 的通讯录中 订阅号将被放入订阅号文件夹中 4 订阅号认证后可申请自定义菜单 4 订阅号 服务号设置方法订阅号 服务号设置方法 2013 年 8 月 5 日前注册的公众号 可选择升级为订阅号 服务号 选择 升级为 服务号 时 个人类型 公众号 需要您选择企业 媒体 政府 其他组织类型 需要根据页面提示重新登记资料 若非个人类型公众号 则 不需要再填写资料 直接升级为服务号即可 设置方法 进入公众平台 设 置 帐号信息 类型 升为服务号 订阅号 选择确定即可 注 1 公众号只有 1 次机会可以选择成为服务号 订阅号 类型选择之后不可修 改 请慎重选择 2 选择 服务号 时 若您之前公众号选择的是 个人类型 需要您选 择 大学本科毕业设计 论文 第 3 页 共 26 页 企业 媒体 政府 其他组织类型重新登记相关信息 3 目前注册新的微信公众号 进行信息登记选择 个人 类型时 默认为 订 阅号 无法选择服务号 1 31 3 微信公众号成功案例微信公众号成功案例 对整个互联网来说 2013 年无疑是属于微信宏图大展的一年 各大行业纷纷入 驻微信平台 进行了丰富多彩的功能开发 呈现了很多精彩的微信营销案例 连张 小龙都说 有时候看到一个账号 我们自己都惊讶 原来微信还可以这么玩 随着微信 5 2 的上线和 微信公众 合作伙伴沟通会的召开 各大第三方开发 者有了更大的开发想象空间 也给了各大企业客户更多的期待 接下来呢就例举几 个近期微信营销案例 研究一下它们的经营模式 看看他们是如何玩转微信公众号 的 从中也学习一下微信公众平台的开发经验 1 南航微信 亮点 服务 沟通 中国南方航空公司开通官方微信 在线值机丶查询里程丶航班动态丶办理登机 牌丶机票预订丶票价查询丶明珠会员丶城市天气查询丶机票验真等这些以往只能在 PC 端实现的功能 在 南航官网 微信公众账号上都可以非常便捷地实现 微信公 众账号已经成为一个独立的 APP 了 南航总信息师胡臣杰曾表示 对今天的南航而言 微信的重要程度 等同于 15 年前南航做网站 也正是由于对微信的重视 如今微信已经跟网站丶短信丶手 机 App 丶呼叫中心 一并成为南航五大服务平台 2 中国银行北京分行 亮点 活动 推广 中国银行北京分行 微信公众号是中国银行携手微信海公司在微信端的试点 今年 6 月份正式上线以来 每个月都策划运营了大型的主题活动 比如 6 7 月份的 招兵买马 丶 8 9 月份的 壁纸点点来 丶 10 月份的 幸福满墙 丶 11 月份的 中行伴我游 丶 12 月份的 欢乐砸金蛋 这些活动都是在微信基础上进行的 策划丶开发和运营 从数据可以看到 做活动及推广比没做活动情况下的粉丝要多 10 倍以上 同时 由于此账号可以实现直接在线预约购买贵金属丶预约大额现金丶 预约贷款丶汇率查询等高级功能 转化而来的用户都成为了铁杆粉丝 而且借助地 理位置 实现本地 O2O 便携式办理业务 走出一条服务的新路 笔者从中行内部了 解到 中行明年 12 个月的活动都已经策划完毕 每个月都会给广大中行用户带来惊 喜大礼 这无疑给我们带来无限期待 3 唯品会 亮点 微信营销理念 唯品会 一个做特卖的网站 习惯于网购的潮人们 这句话估计已经无人 不知无人不晓了 唯品会秉承这个一以贯之的服务理念 再结合手机端用户时间碎 大学本科毕业设计 论文 第 4 页 共 26 页 片化丶节省流量的用户习惯和特点 唯品会官方微信公众号每天都会给用户推送几 款名品折扣产品 现在已经可以直接实现在线购买和支付 体验非常便捷 这也是 唯品会微信公众号一经上线就受到广大用户热捧的原因之一 大学本科毕业设计 论文 第 5 页 共 26 页 第第 2 2 章章 开发过程及结果开发过程及结果 2 12 1 微信公众号开发者认证微信公众号开发者认证 登录微信公众平台 一个公众账号 等待审核通过 这个过程大约需要 2 3 天 当收到如下通知 那么 已经成功的申请到了微信公众账户了 图 1 微信公众号申请通过通知 点击导航栏的 高级功能高级功能 你将会看到两种模式可供选择 请直接忽略编辑 模式 进入 开发模式开发模式 需要配置两项参数 URL 开发者应用访问地址 目前 仅支持 80 端口 如 TOKEN 随意填写 用于生成签名 配置成功后如图 2 所示 图 2 开发者服务器配置 在开发者首次提交验证申请时 微信服务器将发送 GET 请求到填写的 URL 上 并且带上四个参数 signature timestamp nonce echostr 开发者通过对 签名 即 signature 的效验 来判断此条消息的真实性 此后 每次开发者接 收用户消息的时候 微信也都会带上前面三个参数 signature timestamp nonce 访问开发者设置的 URL 开发者依然通过对签 名的效验判断此条消息的真实性 效验方式与首次提交验证申请一致 表 1 认证参数表 参数参数描述描述 signature 微信加密签名 signature 结合了开发者填写的 token 参 数和请求中的 timestamp 参数 nonce 参数 timestamp 时间戳 nonce 随机数 echostr 随机字符串 大学本科毕业设计 论文 第 6 页 共 26 页 开发者通过检验 signature 对请求进行校验 下面有校验方式 若确认此次 GET 请求来自微信服务器 请原样返回 echostr 参数内容 则接入生效 成为开 发者成功 否则接入失败 加密 校验流程如 首先 将 token timestamp nonce 三个参数进行字典序排序 其次 将三个参数字符拼 接成一个字符串进行 sha1 加密 最后开发者获得加密后的字符串可与 signature 对比 标识该请求来源于微信 2 22 2 开发环境搭建开发环境搭建 微信公众平台的通讯机制 如图 3 所示 图 3 通讯过程 由上图可以看出 微信用户给公众号发送信息后 微信后台服务器接收消息 通过 定义接口文件来响应用户消息 最后后台服务器在将响应消息 post 给用户完成整个 过程 在本次毕业设计中将搭建 apache mysql php 环境来作为微信公众后台服务平 台 当然 微信公众开发者认证也可以通过已经上线的第三方来认证 但是为了具 有更高的灵活性 在本次毕业设计中我将通过自己搭建的服务器来完成公众号的开 发者认证 并且编写微信后台服务器与所搭建的服务器的接口文件 开发语言为 php 以及 mysql 语句 接下来就具体介绍整个开发的过程 开放环境具体搭建步骤如下 1 1 安装软件准备 安装软件准备 软件版本以本人安装为例 其他版本同理 软件可到各官网下载 1 Apache httpd 2 2 19 win64 2 PHP php 5 3 6 Win32 VC9 x64 3 MySQL MySQL 5 5 13 winx64 2 2 安装 安装 ApacheApache 1 64 位的 Apache 不同于 32 位打包成 exe 文件可直接安装 先把 httpd 2 2 19 win64 解压到 D server 目录下 2 以管理员身份运行命令提示符 开始 程序 附件 然后进入 D server httpd 2 2 x64 bin 目录 步骤 开始 程序 附件 右击 打开 命令提示符 输入 D 回车 输入 D server httpd 2 2 x64 bin 回车 3 执行 httpd k install 正确的结果如图 4 所示 大学本科毕业设计 论文 第 7 页 共 26 页 图 4 4 修改 D server httpd 2 2 x64 conf httpd conf 的配置信息 这里跟 32 位系统里配置一样 1 用记事本或其它文本编辑工具打开 D server httpd 2 2 x64 conf httpd conf 2 转到第 35 行 小提示 用记事本修改的话可以使用 Crtl g 转到指 定 行 修改为 ServerRoot D server httpd 2 2 x64 3 转到第 129 行左右 会看到 apache 开启的功能模块如 LoadModule vhost alias module modules mod vhost alias so 模块其后添加 LoadModule php5 module D Server php 5 3 6 Win32 VC9 x64 php5apache2 2 dll PHPiniDir D Server php 5 3 6 Win32 VC9 x64 AddType application x httpd php html htm php 4 转到第 182 行 设置网页文件存放目录 我的存在在 D htdocs 设置为 DocumentRoot D htdocs 5 再次在命令提示符执行 httpd k start 没有错误即 apache 服务启动成功 结果如图 5 所示 图 5 3 3 配置 配置 PHPPHP 1 将 php 5 3 6 Win32 VC9 x64 zip 解压到 D server php 5 3 6 Win32 VC9 x64 若目录不存在请先创建后再解压 即对应上步在 Apache 中设置的 LoadModule 位置 2 将 D server php 5 3 6 Win32 VC9 x64 下的 php ini development 修 大学本科毕业设计 论文 第 8 页 共 26 页 改成 php ini 3 找到 display errors 项 修改为 display errors Off 此处控制是 否显示 php 错误 默认开启提示 建议在网站上线前调为 Off 4 转到 extension dir 修改为 extension dir D server php 5 3 6 Win32 VC9 x64 ext 即 php 文 件所在目录下 ext 注意前面的 已被去除 5 找到扩展列表 extension php gd2 dll extension php mysql dll extension php mys qli dll 将其前面的 去掉即为开启该扩展 你也可根据功能需求不同开启 相应扩展 方法同此 6 可选 date timezone 的值设为 Asia Shanghai 即 date timezone Asia Shanghai 4 4 安装 安装 MySqlMySql 1 双击 MySQL 安装包 点击 Next 2 选中 I accept the terms in the License Agreement 点击 Next Choose Setup Type 选择安装选项 有三种 Typical 典型 Custom 自定义 Complete 完全 这里我们选 Custom 然后点击 Next 3 Custom Setup 自定义安装设置 这里依然点击倒三角选择 Entire feature will be installed on local hard drive 把所有的全部安装上去 然后点击 下面的 Change 按钮 选择安装位置后 点击 Next 注意 一定要检查所有选项 安装位置 最好都装在同一个位置 我这里为了省事起见未做修改 此处共 有 6 个条目但只需更改第 1 个和第 6 个的安装位置 其它条目会自动调整过去 的 建议新手可以不做更改 4 Ready to Install the Program 准备安装程序 观察中间的设置 确定无误 后 点击 Next 否则 点击 Back 后修改 5 在安装的过程中会出现一个新窗口 是给 MySQL Enterprise MySQL 企业版 打 广告的 忽视掉 一直 Next 直到出现 FInish 界面 6 Wizard Complete 安装向导完成 点击 Launch the MySQL Instance Configuration Wizard 启动 mysql 配置向导 前面的复选框 默认是勾选 不 关管它 然后点击 Finish 这样就进入了 MySQL 配置界面 7 点击 Next 选择配置方式 Please select a configuration type 这里出现 了两种选项 一种是 Detailed Configuration 详细配置 一种是 Stardard Configuration 标准配置 这里我们选择 Detailed Configuration 然后点击 Next 8 选择服务器类型 Please select a server type 有三种选项 Developer Machine 开发测试用 Server Machine 服务器用 Dedicated MySQL Server Machine 专门的服务器用 由于我是用来开发的 所以选择了第一项 然后点 击 Next 9 选择数据库用途 Please select a database usage 有三种 第一种是 Multifuctional Database 第二种是 Transactional Database Only 第三种 是 Non Transactional Database Only 这儿三个选项的区别我也不怎么理解 但依照英文注释以及网上其他的帖子参考就选择了第一项 Multifuctional Database 然后点击 Next 10 选择 InnoDB 数据库文件存储位置 Please select the drive for the InnoDB 大学本科毕业设计 论文 第 9 页 共 26 页 datafile 默认是安装的 MySQL 位置 保持默认 直接点击 Next 11 选择同时连接到服务器的准确访问量 Please set the approximate number of concurrent connections to the server 三个选项 第一个是 Decision Support DSS OLAP 大约 20 个 第二个是 Online Transaction Processing OLTP 大约 500 个 第三个是 Manual Settings 手动设置 由于 我是为了开发测试用 所以选择第一个就可以了 然后点击 Next 12 网络选项 Please select the networking options 第一个是是否启用 TCP IP 连接 选上 第二个是启用严格模式 Enable Strict Mode 我选了 建议新手选上 这样代码更规范些 然后点击 Next 13 选择默认字符集 Please select the character set 第一个是 Stardard Character Set 标准字符集 默认是 Latin1 适合存储英文 第二个是 Best Support for Multilingualism 最适合多语言 默认是 utf8 适合存储多语言 字符集 第三个是手动选择 这里我们选择 UTF8 编码 即选择第二种或者第三 种中的 UTF8 然后点击 Next 14 设置 windows 选项 Please set the windows options 第一项是是否安装为 Windows 服务 Install As Windows Service 建议勾选上 下面的 Service Name 是服务器标识名称 默认即可 还有个是否随机启动 MySQL 的选项 如果 没选的话 以后开启 MySQL 需要在 cmd 上输入 net start mysql 第二项是是否 把 bin 文件夹路径加入环境变量中的 Path Include Bin Directory in Windows PATH 建议勾选 这样以后可以直接在 cmd 上输入 bin 文件夹上的任 意一个文件使用 然后点击 Next 15 安全选项 Please set the security options 第一项是修改安全设置 Modify Security Settings 这项中的两项分别是新 root 密码和确认输入的 密码 即再输入一遍 最下面的是创建一个匿名帐号 Create An Anonymous Account 先选上 回头安装完记得去除 然后点击 Next 至此 开放环境已经配置完成 然后到域名商城 如 亿腾科技 pubyun 公云等购买或租用一个域名映射到配置的服务器上 那么就可以进行微信公众 开放者认证了 当然 开发平台也可以设置在租用的服务器上 网络有许多的 免费空间 但是免费的不太稳定空间可不够 所以如果要为企业 媒体构建微 信公众平台不建议使用免费空间 可以到西部数码等商城租用获购买服务器 在本次开发中为了调试的方便 我选用了新浪的开发者平台 免费的平台 将编写的接口文件托管到该平台上 如 2 1 微信公众号开发者认证中提到的 url 服务器地址为 证步骤如下所示 首先 登录 6 所示 大学本科毕业设计 论文 第 10 页 共 26 页 图 6 新浪开发者平台登录界面 其次 登录系统点击创建新应用填写相关信息 如图 7 所示 图 7 应用服务创建截图 最后 进入应用管理将系统所分配的链接记录下填入微信公众号开发者认 证的 url 将编写的接口等文件上传到服务器中托管 当然 在该服务器下还有 其他应用如 mysql 等 如图 7 所示 图 8 应用管理界面 至此 开发环境配置成功 接下来介绍接口文件的编辑过程 大学本科毕业设计 论文 第 11 页 共 26 页 2 32 3 APIAPI 文件编辑文件编辑 公众平台开发接口提供与用户进行消息交互 自定义菜单交互的能力 对于成 功接入公众平台开发接口的公众账号 当用户发消息给公众号 微信公众平台服务 器会使用 http 请求对接入的网址进行消息推送 第三方服务器可通过响应包回复特 定结构 从而达到回复消息的目的 服务器响应消息后是通过 post 的方式给用户回 复消息 2 3 12 3 1 postpost 方法方法 http 协议提交数据的方式有两种 GET 方式和 POST 方式 查询微信公众平台开 发文档可知 现微信数据的提交方式为 post 方式 如下表 表 2 post 方法 历史 历史 使用 POST 方法提交的数据则不会作为 URL 的一部分 当然不会浏览器保存 书签 书签 POST 方法则不会 回退与重新提交 回退与重新提交 POST 方法会通知用户再次提交 Form 编码类型 编码类型 POST 支持 application x www form urlencoded 与 multipart form data 参数 参数 发送参数 还可以是文件 大小在理论上没有限制 被攻击 被攻击 POST 方法相对 GET 方法不是那么容易被黑客攻击 数据类型限制 数据类型限制 POST 方法则不受限制 二进制文件也可以 安全性 安全性 POST 方法的安全性相对 GET 要高一些 因为参数数据不能被浏览器作为 URL 的一部分而存入历史访问记录中 表单数据长度 表单数据长度 POST 方法没有限制 可用性 可用性 POST 方法可以用来发送密码与其他敏感信息 可见性 可见性 POST 方法的变量是不可见的在 URL 中 缓存 缓存 POST 方法默认不被缓存 除非 Response 头设置了 Cache Control 或者 Expires 属性值 最大的变量值 最大的变量值 POST 方法支持最大值为 8MB 应用场合 应用场合 POST 主要用来向服务器提交数据 php 语言中实现 post 方式有很多种 但是在本次设计中用到的是 curl 模块 php 默认中是没有打开 curl 功能模块 在使用前得先在 php 配置文件中找到 extension php curl dl 将前面的分号去掉就可以调用 curl 扩展功能了 PHP 支 持的由 Daniel Stenberg 创建的 libcurl 库允许你与各种的服务器使用各种类型的 协议进行连接和通讯 libcurl 目前支持 http https ftp gopher telnet dict file 和 ldap 协议 libcurl 同时也支持 HTTPS 认证 HTTP POST HTTP PUT FTP 上传 这个也 大学本科毕业设计 论文 第 12 页 共 26 页 能通过 PHP 的 FTP 扩展完成 HTTP 基于表单的上传 代理 cookies 和用户名 密 码的认证 PHP 中使用 cURL 实现 Get 和 Post 请求的方法 PHP cURL 函数如下表 表 3 PHP cURL 函数列表 函数描述 curl close 关闭一个 cURL 会话 curl copy handle 复制一个 cURL 句柄和它的所有选项 curl errno 返回最后一次的错误号 curl error 返回一个保护当前会话最近一次错误的字符 串 curl escape 返回转义字符串 对给定的字符串进行 URL 编码 curl exec 执行一个 cURL 会话 curl file create 创建一个 CURLFile 对象 curl getinfo 获取一个 cURL 连接资源句柄的信息 curl init 初始化一个 cURL 会话 curl multi add handle 向 curl 批处理会话中添加单独的 curl 句柄 curl multi close 关闭一组 cURL 句柄 curl multi exec 运行当前 cURL 句柄的子连接 curl multi info read 获取当前解析的 cURL 的相关传输信息 curl multi init 返回一个新 cURL 批处理句柄 curl multi select 等待所有 cURL 批处理中的活动连接 curl multi setopt 设置一个批处理 cURL 传输选项 curl pause 暂停及恢复连接 curl reset 重置 libcurl 的会话句柄的所有选项 curl setopt array 为 cURL 传输会话批量设置选项 curl setopt 设置一个 cURL 传输选项 curl share close 关闭 cURL 共享句柄 curl share init 初始化 cURL 共享句柄 curl share setopt 设置一个共享句柄的 cURL 传输选项 curl strerror 返回错误代码的字符串描述 curl unescape 解码 URL 编码后的字符串 大学本科毕业设计 论文 第 13 页 共 26 页 curl version 获取 cURL 版本信息 curl 获得页面可以使用命令 curl http curl haxx se 这是最简单的使用方法 用这个命令获得了 http curl haxx se 指向的页面 同样 如果这里的 URL 指向的 是一个文件或者一幅图都可以直接下载到本地 如果下载的是 HTML 文档 那么缺 省的将不显示文件头部 即 HTML 文档的 header 要全部显示 请加参数 i 要 只显示头部 用参数 I 任何时候 可以使用 v 命令看 curl 是怎样工作的 它向 服务器发送的所有命令都会显示出来 为了断点续传 可以使用 r 参数来指定传输 范围 在 WEB 页面设计中 form 是很重要的元素 Form 通常用来收集并向网站提交信 息 提交信息的方法有两种 GET 方法和 POST 方法 例如原始页面是在 www hotmail com when birth html 看到的 然后您在文 本框中输入 1905 然后按 OK 按钮 那么浏览器的 URL 现在应该是 www hotmail com when junk cgi birthyear 1905 当正确连接到数据库时会返回值 1 即 link 1 2 连接成功后选中选中需要连接的数据库 mysql query set names GBK link 3 定义数据库操作的语句 sql INSERT INTO checks id user keyword VALUES 1 fromUsername keyword 4 对数据的更新 mysql query sql 5 关闭数据库连接 mysql close link 2 采用 phpmyadmin 来对数据库进行管理 具体配置如下 1 从官网上下载 phpmyadmin 文件 2 将文件直接移到 apache 服务器主目录下 3 打开浏览器输入 http localhost phpMyAdmin3 如图 10 所示 4 输入用户名及密码执行 如图 11 所示 大学本科毕业设计 论文 第 15 页 共 26 页 图 10 图 11 3 采用 Navicat for MySQL 来对数据库进行管理 具体配置如下 1 从官网上下载最新的 Navicat for MySQL 软件 并安装 2 打开软件点击链接 如图 12 所示 3 输入用户名及密码 如图 13 所示 图 12 图 13 2 3 32 3 3 消息格式消息格式 对于每一个 POST 请求 开发者在响应包 Get 中返回特定 XML 结构 对该消 息进行响应 现支持回复文本 图片 图文 语音 视频 音乐 但是 回复图片 等多媒体消息时需要预先上传多媒体文件到微信服务器 只支持认证服务号 微信 服务器在五秒内收不到响应会断掉连接 并且重新发起请求 总共重试三次 1 文本消息格式为 12345678 参数如表 4 所示 表 4 文本消息参数表 大学本科毕业设计 论文 第 16 页 共 26 页 参数参数是否必须是否必须描述描述 ToUserName 是接收方帐号 收到的 OpenID FromUserName 是开发者开发者微信号 CreateTime 是消息创建时间 整型 MsgType 是 text Content 是 回复的消息内容 换行 在 content 中能够换 行 微信客户端就支持换行显示 2 回复视频消息 12345678 参数说明如表 5 所示 表 5 视频回复消息参数列表 参数参数是否必须是否必须说明说明 ToUserName 是接收方帐号 收到的 OpenID FromUserName 是开发者开发者微信号 CreateTime 是消息创建时间 整型 MsgType 是 video MediaId 是通过上传多媒体文件 得到的 id Title 否视频消息的标题 Description 否视频消息的描述 3 图文消息格式为 12345678 大学本科毕业设计 论文 第 17 页 共 26 页 2 参数说明如表 6 所示 表 6 图文回复消息参数列表 参数参数是否必须是否必须说明说明 ToUserName 是接收方帐号 收到的 OpenID FromUserName 是开发者开发者微信号 CreateTime 是消息创建时间 整型 MsgType 是 news ArticleCount 是图文消息个数 限制为 10 条以内 Articles 是 多条图文消息信息 默认第一个 item 为大图 注意 如果图文数超过 10 则将会无响应 Title 否图文消息标题 Description 否图文消息描述 PicUrl 否 图片链接 支持 JPG PNG 格式 较好的效果 为大图 360 200 小图 200 200 Url 否点击图文消息跳转链接 当服务器响应微信用户的消息时 会将响应消息组合为一串数据 post 给用户 php 实现该过程如下所示 postObj simplexml load string postStr SimpleXMLElement 大学本科毕业设计 论文 第 18 页 共 26 页 LIBXML NOCDATA fromUsername 开发者开发者微信号 toUsername 接收方帐号 keyword trim postObj Content time time 是一个时间戳 msgType 回复的消息格式 如 text news music video image textTpl 消息 xml 格式 resultStr sprintf textTpl fromUsername toUsername time msgType contentStr echo resultStr 当用户收到 post 的数据后会根据不同格式将其显示出来 2 4 4 测试及设计结果测试及设计结果 2 4 12 4 1 站点测试结果站点测试结果 当本地站点配置完成以后 打开浏览器输入 http localhost test php test php 的作用是显示 php 信息 程序见附录程序 2 如果浏览器显示如图 14 所示结果 说明 apache php 配置成功 否则就应该检查 是否是配置不当 图 14 站点测试结果 如果测试结果不是如图 14 所示 则需要按照配置过程逐步检查是否是配置时出 错 可能结果较多 在这里就不一一列举 大学本科毕业设计 论文 第 19 页 共 26 页 2 4 22 4 2 数据库操作测试结果数据库操作测试结果 打开浏览器输入 http localhost test1 php test1 php 为 mysql 数据库连 接的测试文件 程序如附录程序 3 所示 如果连接成功则显示 数据库连接成功 与 成功关闭 字样 则说明站点与 mysql 数据库通讯成功 如图 15 所示 如果现 实结果不如图 15 所示 则先查看数据库服务是否开启 如果开启了 则逐个检查数 据库名 端口号 用户名 密码是否填写正确 图图 1515 数据库连接成功数据库连接成功 2 4 32 4 3 curlcurl 抓取数据结果抓取数据结果 月相数据的获得是通过网站 curl 扩展模块网页爬虫获取数据 获得如图 16 所示 大学本科毕业设计 论文 第 20 页 共 26 页 图图 1616 curlcurl 获取网页数据截图获取网页数据截图 结结 论论 通过开发环境的搭建 接口认证后完成了本次毕业设计 得一微信公众号 qazhu 可以在订阅号中输入 qazhu 来进行添加 或者 扫描图 17 二维码添加 其功能如下 其功能如下 1 流星雨时刻的查询 关注微信公众号后先后输入流星雨 年 月就

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论