脚本运行后wget网址末尾多了个%0D的坑

支付宝内搜索 9155838 即可领现金红包 每天都能领哦

11:35:57
前两天的博客里面提到星期天那天被wget网址后多了个%0D折腾了大半天的事情我觉得还是有必要说一些,虽然问题很低级,但折腾了我那么久,或许也有人遇到这个坑,希望对他人有帮助。

因粗心被wget网址后多了个%0D折腾了大半天

有个脚本里面有段自动获取数据的内容,原先是调用python来获取数据的,因为网页变化了,获取数据失败了,我在原先的python脚本上修抓取数据、匹配的代码,修改了n次,调试了n次,还是有问题,弄起来比较复杂,就放弃这个python脚本了,改用php来实现,很快就搞定了,在服务器里面运行php看到结果都是我想要的,一切正常。

然后就用原先的shell脚本调用这个php的结果,再进行后续处理,结果不管执行多少次,都不会更新文件,文本内容也只是部分正常,启用调试模式看了一下,看到如下错误:

--2019-09-15 17:08:44--  http://blog.dngz.net/img/images/touxiang.png%0D
Resolving blog.dngz.net (blog.dngz.net)... 182.131.211.238, 182.131.211.239, 182.131.211.240, ...
Connecting to blog.dngz.net (blog.dngz.net)|182.131.211.238|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2019-09-15 17:08:45 ERROR 404: Not Found.

发现每个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头了

前几天我的所有小鸡都被挡住了,我看不见它们了,也联系不上它们了。

做了一天的迁移工作。

今天上午又在香港脚那里买了只小鸡,在路由器里的插件上将小鸡相关信息填入后,浑身都不痒了、舒坦。

推荐文章

已有 40 条评论
  1. 趣知识

    肿么觉得,你文中很多暗语呢

    趣知识 回复
    1. xylx

      @趣知识

      和古代那些忌讳是不是一样一样的?

      xylx 回复
      1. 林三

        @xylx

        一样一样的看不懂哇,嘎嘎!不过你的网站打开速度确定是令人佩服的,超级快,闪电一样

        林三 回复
        1. xylx

          @林三

          谢谢,速度是第一体验。

          xylx 回复
  2. 自由勇

    除了大陆,就是香港的速度最快,好用得一塌糊涂。我今年6月才开始用香港空间。

    自由勇 回复
    1. xylx

      @自由勇

      是的,但也必须是直连线路,有很多香港是要日本的药美国的。

      xylx 回复
  3. 奶爸建网站笔记

    你放心,你消极还会失联的。

    奶爸建网站笔记 回复
    1. xylx

      @奶爸建网站笔记

      从没失联过,这十几年。

      xylx 回复
  4. 执迷不悟

    如今香港是最需要规避的地区,我观察下来觉得还是老老实实用一些冷门地区冷门机房比较安心,当然是在牺牲一些速度的条件下,但大多数服务的影响不大。

    执迷不悟 回复
    1. xylx

      @执迷不悟

      嗯,是的呀,但是用过香港就不想用其他地方的啦。

      xylx 回复
  5. Sam.Z

    论 /r/n 与 /n 的重要性

    Sam.Z 回复
    1. xylx

      @Sam.Z

      总结到位

      xylx 回复
  6. 猫叔

    台湾比较安全!

    猫叔 回复
    1. xylx

      @猫叔

      完全不是这样的,我的tw的也未幸免。

      xylx 回复
  7. 石樱灯笼

    PSR-2 要求所有 All PHP files MUST use the Unix LF (linefeed) line ending.

    石樱灯笼 回复
    1. xylx

      @石樱灯笼

      习惯性的不加思索就//r//n了。。。

      xylx 回复
  8. Rares

    死磕的精神 值得学习

    Rares 回复
  9. 鸟叔

    阿里云香港的也不错

    鸟叔 回复
    1. xylx

      @鸟叔

      阿里hk封得几率更高

      xylx 回复
      1. 云中君

        @xylx

        阿里云这种大厂也会被封啊!我以为中国企业有优待呢

        云中君 回复
        1. xylx

          @云中君

          阿里在外的服务器不仅gfw封,阿里自己都封

          xylx 回复
          1. 云中君

            @xylx

            对自己下手都这么狠

            云中君
  10. 大鸟博客

    博主终于开始勤奋的更新了。散花!

    大鸟博客 回复
    1. xylx

      @大鸟博客

      还是要以你为榜样。

      xylx 回复
  11. 摄影博客

    发现问题,解决问题,完成后,成就感满满。

    摄影博客 回复
    1. xylx

      @摄影博客

      注意是问题太低级了,忽视了

      xylx 回复
  12. zmmio

    香港的小鸡,我还没使用过,等到期了,我去试试

    zmmio 回复
    1. xylx

      @zmmio

      你用的都是国外的吗?

      xylx 回复
  13. 征文网

    最近才刚开始用Ubuntu系统,还有好多路要走

    征文网 回复
  14. 小石

    还好我全是国内服务器,嘿嘿

    小石 回复
  15. 静水流深

    我是直接买机场

    静水流深 回复
    1. Escher

      @静水流深

      为了不必要的麻烦我也是买的,买来备用,经常用有时流量异常,影响社交平台检测,还是自己一台稳

      Escher 回复
      1. xylx

        @Escher

        嗯,是的,自己的还更安全。

        xylx 回复
    2. xylx

      @静水流深

      对于我这种强迫症来说,机场是缺乏安全性的。

      xylx 回复
  16. Escher

    哈哈哈哈,wget简直是福音,真的.

    Escher 回复
  17. 跋涉者

    我都好久没有小鸡用了,楼主给推荐个便宜的

    跋涉者 回复
    1. xylx

      @跋涉者

      我用的virmach和digitalocean的,都不贵。

      xylx 回复
  18. yingfeng

    我也找不到我的小鸡了,联系不上它们了

    yingfeng 回复
  19. 演员

    国庆快乐1

    演员 回复
  20. 何先生

    感觉花了不少时间来找bug哇,头大

    何先生 回复
发表新评论