雨夜轩以提供各种素材,资源,视频教程及技术交流分享为目的搭建的一个综合型站点,为广大朋友们提供便捷的帮助,尽力去尝试做好每一步,及时为大家解决掉困扰的问题,避开了在浩瀚如海的网络中,扁舟盲寻。
首页 AI
爬虫
  • 爬虫案例
  • JS逆向技巧
  • APP逆向
  • 嵌入式开发
  • C语言入门视频教程
  • 模电数电
  • 51/52单片机
  • STM32
  • Linux嵌入式
  • 文学修养
  • 感动和励志文字
  • 生活哲理
  • 随手乱写
  • IT计算机
  • QT学习之路
  • 数据库设计
  • 网站搭建
  • 微信开发
  • Java
  • 计算机知识
  • NCRE全国计算机等级考试
  • 编程语言
  • Web程序设计
  • 关于我们
  • 广告招租
  • 表白网页制作
  • 登录
    侧边栏壁纸
    博主头像
    RainFly

    明确一个目标,这很重要!

    • 累计撰写 213 篇文章
    • 累计收到 4775 条评论
    • 首页
    • 栏目
      • 首页
      • AI
      • 爬虫
        • 爬虫案例
        • JS逆向技巧
        • APP逆向
      • 嵌入式开发
        • C语言入门视频教程
        • 模电数电
        • 51/52单片机
        • STM32
        • Linux嵌入式
      • 文学修养
        • 感动和励志文字
        • 生活哲理
        • 随手乱写
      • IT计算机
        • QT学习之路
        • 数据库设计
        • 网站搭建
        • 微信开发
        • Java
        • 计算机知识
        • NCRE全国计算机等级考试
        • 编程语言
        • Web程序设计
      • 关于我们
        • 广告招租
        • 表白网页制作
    存档于 【201603】 的文章
    • 如何接收国外的电话和短信验证 2016-3-24
      如何接收国外的电话和短信验证      今天在申请试用国外一个免费空间时又遇到了电话短信验证的问题,之前部落也分享过不少的国外免费电话,例如:TextNow、Pinger等都非常不错的免费电话服务,以前在申请免费VPS主机和免费空间时我们成功用这些免费网络电话通过了国外空间商的短信和电话验证。 但是有些空间商为了保护自己的免费资源不被滥用,设置更加苛刻的电话短信验证条件,我们都知道像Virtual Phone Line、Voxox这样的电话服务只能算是网络电话,还不是传统意义上的手机电话,因此难免不出现一些验证失败的情况,再加上被人用的太多也容易导致被识别而通不过验证。 因此,本文就来为大家搜集整理一下国外的免费电话,因为不少的国外电话官网打开缓慢,大家在申请试用时一定要有足够的耐心。 国外免费电话搜集整理:接收国外验证短信、语音电话和拨打国际长途电话 一、Google Voice 和 Hangouts 环聊 1、Google Voice 官网: 官方网站:https://www.google.com/voice 环聊网站:https://hangouts.google.com/ 2、Google Voice 由Google推出的VOIP服务,能够将个人所用的众多电话号码集中成为一个号码。对国内用户来说,Google Voice 提供了一个美国电话号码,这个号码可以用来接收国外的短信和语音电话,且可以转接到国内的手机上。 3、Hangouts 环聊是Google的即时通讯和视频聊天应用,在2013年5月15日期间的Google I/O发布,取代 Google Talk(Gtalk)。支持Android、iOS以及Chrome多平台,并在Gmail、Google+中集成环聊网页版。有传言Google Voice 将会被谷歌整合到Hangouts 环聊。 4、申请Google Voice有一个难点就是:Google Voice注册过程中要求一个美国电话号码用来接听验证语音。这个我们可以通过部落已经分享的的Groovytel 、Virtual Phone Line 来解决。 二、Pinger和Textfree 免费短信和电话 1、Pinger官网: 官方网站:http://www.pinger.com/ Textfree:http://www.pinger.com/tfw/ 2、TextFree是由Pinger开发的一款手机应用,允许用户通过真实的手机号码免费收发手机短信,拨打免费电话。Pinger提供了美国不同地方的电话号码,每个人可以免费申请一个,可以用来接收国外短信和语音信息。 3、Pinger提供的手机应用软件和在线网页版本,Pinger在线网页版本可以收取短信和语音,Pinger的TextFree应用在国外比较流行,国内上手难度不高,因此用TextFree去申请国外电话验证的人比较多。 三、 Textnow 免费接收国外短信电话 1、Textnow 官网: 官方网站:http://www.textnow.com/ 2、TextNow可以在美国和加拿大免费接收和发送短信,和Pinger一样有网页版,也有手机应用版本,可以在APP Store、Google Play和Windows Phone中下载TextNow应用。 3、TextNow注册比较简单,但是直接使用国内IP来注册账号会提示失败。注册成功后会自动分配一个美国电话号码给你了,这个号码就可以用来接收短信验证了。 四、Sonetel 欧洲国家美国免费电话 1、Sonetel 官网: 官方网站:http://sonetel.com/ 2、Sonetel是一家瑞典公司,数据中心在美国和欧洲总部。注册Sonetel可以获得一个免费的虚拟号码试用,无需验证,直接跳转到Sonetel帐户。你可以自己选择美国、欧洲国家等号码。 3、Sonetel目前提供了中文语言,有Android和苹果OS版本,进入到Sonetel后直接点击免费申请试用。 4、然后选择一个国家的号码,这里可以看到有美国、法国、德国、加拿大、中国、韩国等上百个国家的电话号码可供选择。 5、美国的电话可以精细到哪个一个州的,选择好了后点击下一步,确定。 6、接下来输入你的邮箱和手机号码注册,这个手机号码是用来转接Sonetel的电话的,所以一定要准确。 7、添加后,Sonetel会向你的手机号码打来语音电话,是自动播音的那种,会告诉你验证码。听不懂英语没有关系,Sonetel还会往你的手机发送短信验证码。 8、验证手机成功后,接下来就是填写Sonetel账号和密码了。 9、登录到Sonetel,就可以看到已经给出了一个免费试用的电话号码了,试用之后这个电话号码是付费的。 10、现在你可以下载安装运行手机客户端,并用你的Email地址和默认的密码sonetel登陆,然后就可以接收国外的电话,同时也可以拨打国外的电话,注意免费试用时长有一定的限制。 五、TextMe 免费短信和国外电话 1、TextMe 官网: 官方首页:https://go-text.me/ 2、TextMe 可适用于iPhone、iPad、iPod, Android智能手机、Android平板电脑和 Window的电话。TextMe应用本身和应用内通信是免费的,给非TextMe用户打电话则是收费服务,TextMe 会给 iPod 用户分配的电话号码也是美国本土号码。 3、TextMe支持给国外的用户发送短信,不过目前TextMe需要做任务来赚钱一定的积分,由于网络的原因TextMe在国内部分地区可能无法正常使用,只能是做为一个备选的应用工具。(点击放大) 六、国外免费电话使用小结 1、国外免费电话的APP应用非常多,但是可以免费获取一个美国或者国外其它国家的电话号码比较少,上面介绍了几款免费国外电话都提供了免费试用服务,打电话可能太贵,但是用来接收国外空间商的短信验证码还是可以的。 2、使用国外的免费电话应用时需要到Google Play下载安装,Google Play目前是无法访问的,有的即便是成功打开也要输入Google账号登录下载才能安装,真是够为难了。这里整理出了国外几个自动生成Google Play应用直链地址,帮助我们轻松下载安装App。 1、http://apkleecher.com/ 2、http://apk-dl.com/ 3、http://apps.evozi.com/apk-downloader/ 4、http://globalapk.com/
      • 2016年-3月-24日
      • 79691 阅读
      • 5 评论
      随手乱写
    • 毕业季我们该何去何从? 2016-3-23
      毕业季我们该何去何从?         正如"打工皇帝"唐骏说:"我觉得有两种人不要跟别人争利益和价值回报。第一种人就是刚刚进入企业的人,头5年千万不要说你能不能多给我一点儿工资,最重要的是能在企业里学到什么,对发展是不是有利……"         人总是从平坦中获得的教益少,从磨难中获得的教益多;从平坦中获得的教益浅,从磨难中获得的教益深。一个人在年轻时经历磨难,如能正确视之,冲出黑暗,那就是一个值得敬慕的人。最要紧的是先练好内功,毕业后这5年就是练内功的最佳时期,练好内功,才有可能在未来攀得更高。 出路在哪里?出路在于思路! 其实,没有钱、没有经验、没有阅历、没有社会关系,这些都不可怕。没有钱,可以通过辛勤劳动去赚;没有经验,可以通过实践操作去总结;没有阅历,可以一步一步去积累;没有社会关系,可以一点一点去编织。但是,没有梦想、没有思路才是最可怕的,才让人感到恐惧,很想逃避! 人必须有一个正确的方向。无论你多么意气风发,无论你是多么足智多谋,无论你花费了多大的心血,如果没有一个明确的方向,就会过得很茫然,渐渐就丧失了斗志,忘却了最初的梦想,就会走上弯路甚至不归路,枉费了自己的聪明才智,误了自己的青春年华。 荷马史诗《奥德赛》中有一句至理名言:"没有比漫无目的地徘徊更令人无法忍受的了。"毕业后这5年里的迷茫,会造成10年后的恐慌,20年后的挣扎,甚至一辈子的平庸。如果不能在毕业这5年尽快冲出困惑、走出迷雾,我们实在是无颜面对10年后、20年后的自己。毕业这5年里,我们既有很多的不确定,也有很多的可能性。 毕业这5年里,我们既有很多的待定,也有很多的决定。 迷茫与困惑谁都会经历,恐惧与逃避谁都曾经有过,但不要把迷茫与困惑当作可以自我放弃、甘于平庸的借口,更不要成为自怨自艾、祭奠失意的苦酒。生命需要自己去承担,命运更需要自己去把握。在毕业这5年里,越早找到方向,越早走出困惑,就越容易在人生道路上取得成就、创造精彩。无头苍蝇找不到方向,才会四处碰壁;一个人找不到出路,才会迷茫、恐惧。 生活中,面对困境,我们常常会有走投无路的感觉。不要气馁,坚持下去,要相信年轻的人生没有绝路,困境在前方,希望在拐角。只要我们有了正确的思路,就一定能少走弯路,找到出路! 成功的人不是赢在起点,而是赢在转折点。 不少刚刚毕业的年轻人,总是奢望马上就能找到自己理想中的工作。然而,很多好工作是无法等来的,你必须选择一份工作作为历练。职业旅程中的第一份工作,无疑是踏入社会这所大学的起点。也许你找了一份差强人意的工作,那么从这里出发,好好地沉淀自己,从这份工作中汲取到有价值的营养,厚积薄发。千里之行,始于足下,只要出发,就有希望到达终点。 起点可以相同,但是选择了不同的拐点,终点就会大大不同! 毕业这几年,我们的生活、感情、职业等都存在很多不确定的因素,未来也充满了各种可能。这个时候,必须学会选择,懂得放弃,给自己一个明确的定位,使自己稳定下来。如果你不主动定位,就会被别人和社会"定型"! 可以这么说:一个人在毕业这5年培养起来的行为习惯,将决定他一生的高度。我们能否成功,在某种程度上取决于自己对自己的评价,这就是定位。你给自己定位是什么,你就是什么。定位能决定人生,定位能改变命运。丑小鸭变成白天鹅,只要一双翅膀;灰姑娘变成美公主,只要一双水晶鞋。 人的命,三分天注定,七分靠打拼,有梦就"会红",爱拼才会赢。只要不把自己束缚在心灵的牢笼里,谁也束缚不了你去展翅高飞。 现实情况远非他们所想的那样。于是,当优越感逐渐转为失落感甚至挫败感时,当由坚信自己是一块"金子"到怀疑自己是一粒"沙子"时,愤怒、迷茫、自卑就开始与日俱增。 其实,应该仔细掂量一下自己,你是否真是金子?是真金,手中要有绝活,才能上要有过人之处才行。一句话:真金是要靠实力来证明的,只有先把自己的本领修炼好了,才有资格考虑伯乐的事情 每颗珍珠原本都是一粒沙子,但并不是每一粒沙子都能成为一颗珍珠。 想要卓尔不群,就要有鹤立鸡群的资本。忍受不了打击和挫折,承受不住忽视和平淡,就很难达到辉煌。年轻人要想让自己得到重用,取得成功,就必须把自己从一粒沙子变成一颗价值连城的珍珠。 天有下雨与日出,人生高峰与低谷。 莫为浮云遮望眼,风物长宜放眼量。只要拂去阴霾,就能亮出朗朗晴空。如果你在工作上有些不如意,要相信自己不会一直处于人生的低谷期,总有一天能冲破重重云层。告诉自己:我并没有失败,只是暂时没有成功!只要在内心点亮一盏希望之灯,一定能驱散黑暗中的阴霾,迎来光明。 的确,论资历,他们是不折不扣的职场菜鸟,业务涉及不深,人脉一穷二白,在工作中经常碰壁。他们的压力并不一定都像千钧大石,而是像大雨来临前的天色,灰色低沉,明明有空间,却被灰色填满每个缝隙,只能等待大雨倾盆之后的晴空。 "起得比鸡早,睡得比狗晚,干得比驴多,吃得比猪差。"这是很多刚刚毕业的人喜欢用来调侃自己生活状态的话。虽然有点儿夸张,但是,他们中的很多人的确一直都被灰色心情所笼罩--心里永远是多云转阴。记得有位哲人曾说:"我们的痛苦不是问题本身带来的,而是我们对这些问题的看法产生的。"换个角度看人生,是一种突破、一种解脱、一种超越、一种高层次的淡泊与宁静,从而获得自由自在的快乐。 一位哲人说:"人生就是一连串的抉择,每个人的前途与命运,完全把握在自己手中,只要努力,终会有成。"就业也好,择业也罢,创业亦如此,只要奋发努力,都会成功。你是不是准备把生命的承诺全部都交给别人? 毕业后这5年,是改变自己命运的黄金时期。在最能决定自己命运时,如果还不把握,那你还要等到什么时候呢?我的人生我做主,命运由己不由人。 不要活在别人的嘴里,不要活在别人的眼里,而是把命运握在自己手里。 别说你没有背景,自己就是最大的背景。美国作家杰克·凯鲁亚克说过一句话:"我还年轻,我渴望上路。"在人生的旅途中,我们永远都是年轻人,每天都应该满怀渴望。每个人的潜能都是无限的,关键是要发现自己的潜能和正确认识自己的才能,并找到一个能充分发挥潜能的舞台,而不能只为舞台的不合适感到不快。要客观公正地看待自己的能力,结合自己的实际情况和爱好冷静选择,尽可能到最需要自己、最适合自己的地方。 在人力资源管理界,特别流行一个说法,即"骑马,牵牛,赶猪,打狗"理论:人品很好,能力又很强的,是千里马,我们要骑着他;人品很好但能力普通的,是老黄牛,我们要牵着他;人品、能力皆普通的,就是"猪",我们要赶走他;人品很差能力很强的,那是"狗",我们要打击他。 我想,刚刚毕业几年的你,一样胸怀大志,一样想成为一匹被人赏识、驰骋沙场的千里马吧?那么,就好好沉淀下来。低就一层不等于低人一等,今日的俯低是为了明天的高就。所谓生命的价值,就是我们的存在对别人有价值。能被人利用是一件好事,无人问津才是真正的悲哀! 能干工作、干好工作是职场生存的基本保障。 任何人做工作的前提条件都是他的能力能够胜任这项工作。能干是合格员工最基本的标准,肯干则是一种态度。一个职位有很多人都能胜任,都有干好这份工作的基本能力,然而,能否把工作做得更好一些,就要看是否具有踏实肯干、苦于钻研的工作态度了。 在能干的基础上踏实肯干。 工作中,活干得比别人多,你觉得吃亏;钱拿得比别人少,你觉得吃亏;经常加班加点,你觉得吃亏……其实,没必要这样计较,吃亏不是灾难,不是失败,吃亏也是一种生活哲学。现在吃点儿小亏,为成功铺就道路,也许在未来的某个时刻,你的大福突然就来了。 能吃亏是做人的一种境界,是处世的一种睿智。 在工作中并不是多做事或多帮别人干点儿活就是吃亏。如果领导让你加加班、赶赶任务,别以为自己吃了大亏,反而应该感到庆幸,因为领导只叫了你,而没叫其他人,说明他信任你、赏识你。吃亏是一种贡献,你贡献得越多,得到的回报也就越多。乐于加班,就是这样的一种吃亏。 舍得舍得,有舍才有得;学会在适当时吃些亏的人绝对不是弱智,而是大智。 给别人留余地就是给自己留余地,予人方便就是予己方便,善待别人就是善待自己。 傻人有傻福,因为傻人没有心计。和这样的人在一起,身心放松,没有太多警惕,就能相互靠近。傻在很多时候意味着执着和忠贞,也意味着宽厚和诚实,让人不知不觉站到他一边。傻人无意中得到的,比聪明人费尽心机得到的还多。毕业这几年,你的天空中只飘着几片雪花,这样你就满足了吗?成功需要坚持与积累,与其专注于搜集雪花,不如省下力气去滚雪球。巴菲特说:"人生就像滚雪球,最重要的是发现很湿的雪和很长的坡。"让自己沉淀下来,学着发现"很湿的雪",努力寻找"很长的坡"。记住:散落的雪花会很快融化,化为乌有,只有雪球才更实在,才能长久。 在毕业这几年里,你要是能做到比别人多付出一分努力,就意味着比别人多积累一分资本,就比别人多一次成功的机会。 什么是职业化呢?职业化就是工作状态的标准化、规范化、制度化,即在合适的时间、合适的地点用合适的方式说合适的话、做合适的事,使知识、技能、观念、思维、态度、心理等符合职业规范和标准。"在每个行业里,都有很多出色的人才,他们之所以能存在,是因为比别人更努力、更智慧、更成熟。但是,最重要的是,他们比一般人更加职业化!这就是为什么我现在能当你老板的原因。一个人仅仅专业化是不够的,只有职业化的人才能飞在别人前面,让人难以超越!"不要以为我们现在已经生存得很安稳了。对于毕业5年的人来讲,一定要认清即将面临的五大挑战。 一、赡养父母。 二、结婚生子。 三、升职加薪。 四、工作压力。 五、生活质量。 有的人为生存而雀跃,目光总是停在身后,三天打鱼两天晒网,有始无终。 有的人为发展而奋斗,目光总是盯在正前方,每天进步一点点,坚持不懈。 毕业这几年,不能没有追求和探索,不能没有理想和目标。人生如逆水行舟,不进则退。甘于现状的生活就是不再前行的船,再也无法追上时代前进的步伐。一定要抓紧每一秒钟的时间来学习,要明白学习不是学生的专利。小聪明的人最得意的是:自己做过什么?大智慧的人最渴望的是:自己还要做什么? 小聪明是战术,大智慧是战略;小聪明看到的是芝麻,大智慧看到的是西瓜。 在这个世界上,既有大人物,也有小角色,大人物有大人物的活法,小人物有小人物的潇洒,每个人都有自己的生活方式,谁也勉强不了谁。但是,小聪明只能有小成绩和小视野,大智慧才能有大成就和大境界。小企业看老板,中企业看制度,大企业看文化。
      • 2016年-3月-23日
      • 11018 阅读
      • 4 评论
      生活哲理
    • 浅析Easy-ARMi.MAX283 GPIO中断驱动模块 2016-3-20
      浅析Easy-ARMi.MAX283 GPIO中断驱动模块 需要的是一步步解析这个代码中比较抽象难懂的点 顺带举一反三 共同学习 不喜勿喷! 贴上源代码 在光盘文件 ....\3.Linux\4.开发示例6、驱动示例GPIO中断 #inc lude<linux/init.h> #include<linux/module.h> #include<mach/gpio.h>                                                   #include<asm/io.h>                                                  #include"mach/../../mx28_pins.h" #include <mach/pinctrl.h> #include "mach/mx28.h" #include<linux/fs.h> #include <linux/io.h> #include<asm/uaccess.h>                                      #include<linux/miscdevice.h>                           #include<linux/irq.h>                           #include<linux/sched.h>                    #include<linux/interrupt.h>               #include<linux/timer.h> #include <linux/kernel.h> #include <linux/delay.h> #include <asm/uaccess.h> #include <asm/io.h> #define GPIO_BUTTON_PIN PINID_SSP0_DATA4 //按键的引脚为P2.4 //具体引脚文件的配置在内核arch/arm/mach-mx28/mx28_pin.h文件中宏定义添加引脚配置  MXS_PING_ENCODE函数是通过计算得出引脚位置 #define MXS_PIN_ENCODE(b, p)   \ ((((b) & MXS_PIN_BANK_MAX) << MXS_PIN_BANK_BIT) |\ ((p) & MXS_PIN_PINID_MAX))   static volatile int ev_press = 0; static struct fasync_struct button_async; struct pin_desc_s{ //中断引脚描述结构体 unsigned int pin; unsigned int irq; unsigned int key_val; }; static unsigned char key_val; //初始化中断引脚结构体 struct pin_desc_s pin_desc = { .pin     = MXS_PIN_TO_GPIO(GPIO_BUTTON_PIN), .key_val = 0, }; static DECLARE_MUTEX(button_lock);      static DECLARE_WAIT_QUEUE_HEAD(button_waitq); //中断处理函数 static irqreturn_t buttons_irq(int irq, void dev_id) { struct pin_desc_s pindesc = (struct pin_desc_s )dev_id; unsigned int pinval; pinval = gpio_get_value(pindesc->pin); if (pinval) { key_val = 1; } else { key_val = pindesc->key_val; }         ev_press = 1;         wake_up_interruptible(&button_waitq); //唤醒等待队列里面的进程 kill_fasync (&button_async, SIGIO, POLL_IN); //异步通知 //printk("interrupt occur..........\n"); return IRQ_RETVAL(IRQ_HANDLED); } static int gpio_drv_open(struct inode inode, struct file file) { int iRet=0; if (file->f_flags & O_NONBLOCK) { if (down_trylock(&button_lock)) return -EBUSY; } else { down(&button_lock); } gpio_direction_input(pin_desc.pin); pin_desc.irq = gpio_to_irq(pin_desc.pin);  if (pin_desc.irq)  disable_irq(pin_desc.irq); set_irq_type(pin_desc.irq, IRQF_TRIGGER_FALLING); //下降沿中断 //申请中断并设置中断处理函数 iRet = request_irq(pin_desc.irq, buttons_irq, IRQF_SHARED, "gpio_int", &pin_desc); if (iRet != 0){ printk("request irq failed!! ret: %d  irq:%d \n", iRet,pin_desc.irq); return -EBUSY; } return 0; } ssize_t gpio_drv_read(struct file file, char __user buf, size_t size, loff_t ppos) { if (size != 1) return -EINVAL; if (file->f_flags & O_NONBLOCK) { if (!ev_press) return -EAGAIN; } else { wait_event_interruptible(button_waitq, ev_press); } copy_to_user(buf, &key_val, 1); ev_press = 0; return 1; } int gpio_drv_close(struct inode inode, struct file file) { free_irq(pin_desc.irq, &pin_desc); up(&button_lock); return 0; } static int gpio_drv_fasync (int fd, struct file filp, int on) { printk("driver: gpio_drv_fasync\n"); return fasync_helper (fd, filp, on, &button_async); } static struct file_operations gpio_drv_fops = { .owner = THIS_MODULE, .open = gpio_drv_open, .read = gpio_drv_read, .release = gpio_drv_close, .fasync = gpio_drv_fasync, }; static struct miscdevice button_miscdev =  { .minor        = MISC_DYNAMIC_MINOR,     .name        = "magic-gpio",     .fops        = &gpio_drv_fops, }; static int __init gpio_drv_init(void) { int iRet=0; printk("gpio_miscdev module init!\n"); iRet = misc_register(&button_miscdev); // 注册miscdevice 混杂设备驱动 公用主设备号为10,节省主设备号!   详细解释 http://blog.csdn.net/tong646591/article/details/8301925 if (iRet) { printk("register failed!\n"); }  return 0; } static void __exit gpio_drv_exit(void) { printk("gpio_miscdev module exit!\n"); misc_deregister(&button_miscdev); } module_init(gpio_drv_init); module_exit(gpio_drv_exit); MODULE_AUTHOR("EasyARM283 By LZZ"); MODULE_LICENSE("Dual BSD/GPL"); MODULE_DESCRIPTION("gpio button interrupt module");
      • 2016年-3月-20日
      • 10503 阅读
      • 1 评论
      Linux嵌入式
    • BOA服务器ARM开发板上无法加载CSS样式处理方法 2016-3-9
      BOA服务器ARM开发板上无法加载CSS样式处理方法         背景:前段时间刚移植了BOA服务器到我的EasyARM283的开发板上面了,CGI程序运行正常但是当写入一下css样式文本后,浏览器始终无法正常显示 发现可以调用JS文件,按照相应的CSS文件路径也可以找到对应文件,百度Google了很多资料都没有得到什么有效的解决办法,最终在看火狐浏览器对应的source路径找到css文件加载不了的实际原因  如同图上的报错所说  样式表单未载入 因为它的MIME类型是“text/plain” 不是“test/css” 查了一下服务器的配置文件发现了解决途径  在/etc/boa/boa.conf 文件第165行 有一个定义缺省MIME类型  将 text/plain   更改为text/css 成功完成css加载!
      • 2016年-3月-9日
      • 12453 阅读
      • 2 评论
      Linux嵌入式
    • EasyARM-imx28开发板嵌入web服务器 2016-3-5
      EasyARM-imx28开发板嵌入web服务器             随着互联网应用的普及,越来越多的信息化产品需要接入互联网通过Web页面进行远程访问。嵌入式Web系统提供了一种经济、实用的互联网嵌入式接入方案。这里结合一种嵌入式Web Server BOA来介绍嵌入式Linux系统下的CGI程序设计技术。 关于实现项目所出现的相关问题解决办法  一、编译配置boa服务器 1 、[root@localhost /]#mkdir web                           //在根目录下创建web目录 2 、[root@localhost /]# cd /web/ 3 、[root@localhost web]# rz 4 、[root@localhost web]# tar –zxvf boa-0.94.13.tar.gz      //将源码解压到/web目录下 5 、[root@localhost web]# cd boa-0.94.13/ 6 、[root@localhost boa-0.94.13]# cd src/    7 、[root@localhost src]# ls 8 、[root@localhost src]# ./configure                         //运行./configure使之生成Makefile文件 9 、[root@localhost src]# vi Makefile 修改内容如下: 把CC=gcc 和CPP=gcc -E改写成CC=arm-none-linux-gnueabi-gcc    CPP=arm-none-linux-gnueabi-g++ -E 10 、[root@localhost src]# vi compat.h 在一般模式下输入:set nu显示行编号,再用120进到120行,修改内容如下: 120 #define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff   改为define TIMEZONE_OFFSET(foo) foo->tm_gmtoff 把120行foo后两个#号去掉 11 、[root@localhost src]# make                       //编译 12 、[root@localhost src]# arm-linux-strip boa        //优化boa可执行文件(此步非必须) 13 、[root@localhost web]# cd boa-0.94.13/      14 、[root@localhost boa-0.94.13]# vi boa.conf         //修改boa的配置文件 在一般模式下输入:set nu显示行编号,再用111进到111行,  修改内容如下:  把111 DocumentRoot /var/www 改为111 DocumentRoot /var/www //指明html文件所放的路径 把193 ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ 改为193 ScriptAlias /cgi-bin/ /var/www/cgi-bin/ //指明cgi脚本的虚拟路径所对应的实际路径 15、将/src目录下新生成的boa文件下载到目标板的/bin目录下,将boa.conf文件下载到目标板的/etc/boa/目录下。 16、进入开发板的/bin目录,运行boa。 二、可能遇到的问题 1、Could not chdir to "/etc/boa": aborting       必须创建/etc/boa目录 2、Could not open mime.types file, "/etc/mime.types", for reading      /etc/目录下缺少mime.types文件,从它处拷贝。 3、gethostbyname:: Connection timed out      把“#ServersName www.your.org.here”的“#”去掉。   三、修改boa.conf文件 # 监听的端口号,缺省都是80 ,一般无需修改 Port 80 # bind 调用的IP 地址,一般注释掉,表明绑定到INADDR_ANY ,通配于服务器的所有IP 地址 #Listen 192.68.0.5 User 0 Group 0 # 当服务器发生问题时发送报警的email 地址,目前未用,注释掉 #ServerAdmin root@localhost  # 错误日志文件。如果没有以/ 开始,则表示从服务器的根路径开始。如果不需要错误日志,则用#/dev/null 。在下面设置时,注意一定要建立/var/log/boa 目录 ErrorLog /mnt/log/boa/error_log # 访问日志文件。如果没有以/ 开始,则表示从服务器的根路径开始。如果不需要错误日志,则用#/dev/null 或直接注释掉。在下面设置时,注意一定要建立/var/log/boa 目录 #AccessLog /var/log/boa/access_log # 是否使用本地时间。如果没有注释掉,则使用本地时间。注释掉则使用UTC 时间 #UseLocaltime # 是否记录CGI 运行信息,如果没有注释掉,则记录,注释掉则不记录 #VerboseCGILogs # 服务器名字 ServerName www.hyesco.com  # 是否启动虚拟主机功能,即设备可以有多个网络接口,每个接口都可以拥有一个虚拟的Web 服 # 务器。一般注释掉,即不需要启动 #VirtualHost # 非常重要,HTML 文档的主目录。如果没有以/ 开始,则表示从服务器的根路径开始。 DocumentRoot /var/www # 如果收到一个用户请求的话,在用户主目录后再增加的目录名 UserDir public_html #HTML 目录索引的文件名,也是没有用户只指明访问目录时返回的文件名 DirectoryIndex index.html # 当HTML 目录没有索引文件时,用户只指明访问目录时,boa 会调用该程序生成索引文件然后 # 返回给用户,因为该过程比较慢最好不执行,可以注释掉或者给每个HTML 目录加上#DirectoryIndex 指明的文件 #DirectoryMaker /usr/lib/boa/boa_indexer # 如果DirectoryIndex 不存在,并且DirectoryMaker 被注释,那么就用Boa 自带的索引 # 生成程序来生成目录的索引文件并输出到下面目录,该目录必须是Boa 能读写 # DirectoryCache /var/spool/boa/dircache # 一个连接所允许的HTTP 持续作用请求最大数目,注释或设为0 都将关闭HTTP 持续作用 KeepAliveMax 1000 #HTTP 持续作用中服务器在两次请求之间等待的时间数,以秒为单位,超时将关闭连接 KeepAliveTimeout 10 # 指明mime.types 文件位置。如果没有以/ 开始,则表示从服务器的根路径开始。可以注释掉 # 避免使用mime.types 文件,此时需要用AddType 在本文件里指明 MimeTypes /etc/mime.types # 文件扩展名没有或未知的话,使用的缺省MIME 类型 DefaultType text/plain # 提供CGI 程序的PATH 环境变量值 CGIPath /bin:/usr/bin:/usr/local/bin # 将文件扩展名和MIME 类型关联起来,和mime.types 文件作用一样。如果用mime.types # 文件,则注释掉,如果不使用mime.types 文件,则必须使用 #AddType application/x-httpd-cgi cgi # 指明文档重定向路径 #Redirect /bar http://elsewhere/feh/bar  # 为路径加上别名 Alias /doc /usr/doc # 非常重要,指明CGI 脚本的虚拟路径对应的实际路径。一般所有的CGI 脚本都要放在实际路径 # 里,用户访问执行时输入站点+ 虚拟路径+CGI 脚本名 ScriptAlias /cgi-bin/ /var/www/cgi-bin/     用户可以根据自己需要,对boa.conf 进行修改,但必须要保证其他的辅助文件和设置必须和boa.conf 里的配置相符,不然Boa 就不能正常工作。 在上面的例子中,我们还需要创建日志文件所在目录/var/log/boa ,创建HTML 文档的主目录/var/www ,将mime.types 文件拷贝 到/etc 目录,创建CGI 脚本所在目录/var/www/cgi-bin/ . www 目录放index.html 文件。mime.types 文件用来指明不同文件扩展名对应的MIME 类型,一般 可以直接从Linux 主机上拷贝一个,大部分也都是在主机的/etc 目录下。访问方式:http://192.168.3.223/index.html BOA源文件编译出错解决方案          编译boa时提示:       make: yacc:命令未找到 make: *** [y.tab.c] 错误 127 make: lex:命令未找到 make: *** [lex.yy.c] 错误 127 解决方法: 安装需要工具         apt-get install bison         apt-get install flex 编译会出错: util.c: 100: 1: pasting “t” and “->” does not give a valid preprocessing token make: [util.o] Error1 解决方法,修改compat.h中的 #define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff 为: #define TIMEZONE_OFFSET(foo) foo->tm_gmtoff 1.必须要在板子的/etc下建一个boa目录(错误代码忘了) 2.”can't open boa.conf for reading“ 解决:不仅要在你自己放置boa的目录下放入boa.conf配置文件,而且要在板子的/etc/boa下也要放入boa.conf文件,这样系统在运行boa的时候才可以读取到boa.conf文件。 3.“unable to dup2 the error log bad file descriptor” 解决:在boa源码里,即src文件夹下把log.c中的第73行的if语句注释掉。 其实主要原因在于没有创建/var/log/boa/文件夹下面的 两个记录文件 error_log access_log  创建完成后重新运行boa 4."unable to dup2 the error log:Bad file descriptor" 解决:在boa.conf里,把“#AccessLog /var/log/boa/access_log”注释掉(即去掉#号)。 5.“[01/Jan/2031:00:12:25 +0000] boa.c:226 - icky Linux kernel bug!: No such file or directory” 解决:在boa源码里,即src文件夹下把boa.c中的第226行的if语句注释掉。  6."gethostbyname:: Resource temporarily unavailable" 解决:把“#ServerName www.your.org.here”的“#”号去掉。  7."./boa: 1: syntax error: "(" unexpected" 解决:没有修改Makefile,是用gcc编译的,应该改成是arm-linux-gcc编译。 8.如果页面上是:“502 Bad Gateway The CGI was not CGI/1.1 compliant.“ 解决:给你要执行的cgi可执行程序赋个权限。chmod 777 filename 9.在<form action="cgi-bin/test2.cgi" method="get">中,cgi可执行程序的路径就直接写“cgi-bin/test2.cgi”就可以了,不要写板子上的绝对路径,这样就重复了,因为cgi执行时会自动去boa.conf的指定的路径里找。 10.出现警告:“control reaches end of non-void function”,是因为某个函数没有return,而函数定义时是非void型的。所以需要有个返回值。比如int cgiMain()这个函数就一定要有个返回值的,否则会报这个错误。 12.运行网页时老出现错误:“mkstemp:No such file or diectory” 解决:不能用post,只能用get。因为post方式需要新建一个临时文件,这就需要用到mkstemp函数。这个函数是在系统中以唯一的文件名创建一个文件并打开,且只有当前用户才能访问这个临时文件。故权限不够,或其他什么问题都会报这个错误。那么就用get吧!这里具体原因细节笔者暂时也不是很清楚... 13.直接写的含有system()函数的c程序用arm-linux-gcc编译到板子上的可以执行,而如果写在cgi中的就不一定能执行了。因为牵涉到一个cgi的权限的问题。即使给你的cgi-bin文件夹下的所有cgi可执行文件都赋了权限,也不一定能执行。 boa程序无法运行  如果要将运行用户为 root 则还要改, 首先在 boa.conf 中  48行   User nobody 改为   User root 如果这样重新运行boa 则会邮错,请看 error_log 中的提示        src/boa.c:226 - icky Linux kernel bug!: Success 在linux中很少以root 用户作为应用程的运行者,一般的应用程序也会禁止认root作为程序的运行者  所以在boa.c 的225行中有       if (setuid(0) != -1)    }注释掉下面语句: if(setuid(0) != -1) { DIE(”icky Linux kernel bug!”); } 即修改为: #if 0 if(setuid(0) != -1) {    DIE(”icky Linux kernel bug!”);    } #endif 上面修改完成 查看/var/log/error/boa/error_log    继而可以打开浏览器查看是否能打开index.html cgi文件也可以正常打开! 写写改改一天终于完成了在imx283开发版上面移植web服务器了,本想上传一些大的网页素材结果发现 /var 目录分配的时候给的太小了 只有512k,需要重新做个根文件,(笔者想更改掉网站的根目录 DocumentRoot 结果发现CGI程序无法正常运行,改日再继续修改!) 通过修改了DocumentRoot /www 和ScriptAlias          /www/cgi-bin/    将网站文件放到了根目录,boa服务器顺利完成搭建! 参考资料             基于嵌入式web服务器的远程数据采集系统的应用   韩改宁,梁新月       资源网盘                          http://pan.baidu.com/s/1dEh0lLf
      • 2016年-3月-5日
      • 8793 阅读
      • 1 评论
      Linux嵌入式
    博主栏壁纸
    博主头像 RainFly

    明确一个目标,这很重要!

    213 文章数
    4775 评论量
    • 西安城六区户外轨迹大数据分析|用数据看懂这座城市的户外活力
    人生倒计时
    标签
    微信小程序 ES6 proxy openchash 爬虫 JS逆向学习 Tiktok RAG应用 Oracle MACOS 黑苹果 Lombok HTML Tomcat PHP 前端 微信 Java Servlet GatewayWorker STM32 黑科技 iMX28X开发板实践历程 linux嵌入式 SQL QT学习之路 软件 WIN10 单片机 社会百态 计算机小知识 C语言教程 免费主机 原创 随手乱写 代码 插件 SEO emlog 便捷 追踪 黑客 生活 电工电子 破解 编程 网页设计 视频制作 教程 UG
    热门文章
    1. 1 会声会影x9旗舰版安装破解汉化教程(附上安装包+注册机+汉化包)
      会声会影x9旗舰版安装破解汉化教程(附上安装包+注册机+汉化包)
    2. 2 会声会影X5破解中文版+注册机+安装教程
      会声会影X5破解中文版+注册机+安装教程
    3. 3 全国计算机三级嵌入式开发真题下载
      全国计算机三级嵌入式开发真题下载
    4. 4 全国计算机二级VFP考试
      全国计算机二级VFP考试
    5. 5 彻底删除会声会影x5 x6 x7 x9方法+删除工具
      彻底删除会声会影x5 x6 x7 x9方法+删除工具
    6. 6 如何接收国外的电话和短信验证
      如何接收国外的电话和短信验证
    7. 7 网盘分享密码破解器
      网盘分享密码破解器
    8. 8 随意聊聊
      随意聊聊
    9. 9 2016迅游加速器破解版
      2016迅游加速器破解版
    最新评论
    • JosephLig
      JosephLig
      2 天前
      令人愉快的 旅游资源, 继续发展 保持热...
    • 楼上看海
      楼上看海
      7 天前
      为了他,我在追梦
    • pz
      pz
      8 天前
      感谢!
    • JosephLig
      JosephLig
      13 天前
      我关注这样的资源, 充满真情实感。你的内...
    • RainFly
      RainFly
      21 天前
      需要源码和数据 请加微信联系博主~
    友情链接
    • 申请友链
    • 派派网
    • 21运维
    载入天数...载入时分秒...
    页面加载耗时:0.02秒 数据库查询次数:88次
    微信联系
    邮箱联系
    站点地图 皖ICP备15003600号-1