当前位置:主页 > 资源 > 技术文章 >

脚本运行后wget网址末尾多了个%0D的坑
栏目分类:技术文章   发布日期:2019-11-30   作者:素年    来源:未知

前两天的博客里面提到星期天那天被wget网址后多了个%0D折腾了大半天的事情我觉得还是有必要说一些,虽然问题很低级,但折腾了我那么久,或许也有人遇到这个坑,希望对他人有帮助。 因粗心被wget网址后多了个%0D折腾了大半天 有个脚本里面有段自动获取数据的
  前两天的博客里面提到星期天那天被wget网址后多了个%0D折腾了大半天的事情我觉得还是有必要说一些,虽然问题很低级,但折腾了我那么久,或许也有人遇到这个坑,希望对他人有帮助。
  因粗心被wget网址后多了个%0D折腾了大半天
  有个脚本里面有段自动获取数据的内容,原先是调用python来获取数据的,因为网页变化了,获取数据失败了,我在原先的python脚本上修抓取数据、匹配的代码,修改了n次,调试了n次,还是有问题,弄起来比较复杂,就放弃这个python脚本了,改用php来实现,很快就搞定了,在服务器里面运行php看到结果都是我想要的,一切正常。
  然后就用原先的shell脚本调用这个php的结果,再进行后续处理,结果不管执行多少次,都不会更新文件,文本内容也只是部分正常,启用调试模式看了一下,看到如下错误:
  
  发现每个wget后面都多了个“%0D”,第一感觉就是脚本里面字符编码或者是换行符的问题导致的,心里就奇怪这个shell代码都两年了,从没改过,为什么现在会运行出错?
  在服务上看脚本没问题,又把脚本下载下来,在本地用vscode看了一下,代码里面也没有多余的%0D字符,换行符也是linux格式的,为啥就会出问题呢?难道系统哪里变化过了?
  然后我就死磕这个shell脚本了。
  然后我就思路惊奇的用curl替代wget,再次确认脚本里没多余的字符,运行一下,文字内容还是一部分正确,一部分有问题,要下载的文件还是出错,提示:curl: (3) Illegal characters found in URL
  一直就在这个怪圈里面折腾来折腾去,后来还想着在curl前对url处理一下,判断一下是否有%0D,如果有就先去掉再下载,但这样没找出实际原因的处理方式不是我的作风。
  很快就过了晚饭饭点的时间了,先放一放,吃饭吧,就在吃饭的时候,不知怎么的突然清清楚楚的想起我写那个php代码的时候我写换行的时候是用的“\r\n”,我想问题应该就在这里了,心里为之一振。
  赶紧吃完饭,一查,果然是,将其改为“\n”,脚本一执行,丝般顺滑,什么错误都没有。
  其实从一开始就怀疑是换行符的问题,但总在shell脚本上找原因去了,完全忘记shell处理的是php抓取后生成的内容了。
  这就是菜鸟耗费生命的悲剧……
  过了两天又爬上qiang头了
  前几天我的所有小鸡都被挡住了,我看不见它们了,也联系不上它们了。
  做了一天的迁移工作。
  今天上午又在香港脚那里买了只小鸡,在路由器里的插件上将小鸡相关信息填入后,浑身都不痒了、舒坦。

相关热词:

下一篇:没有了
Copyright © 2016-2020 我爱分享网 版权所有   豫ICP备16008703号-1   关于我们 | 广告合作 | 版权声明 | 意见反馈 | 联系方式 | 原创投稿 | 网站地图 |
特效 教程 资源 资讯 福利