Being Boring

Saturday, August 30, 2008

折腾死老子了

[不慎删除重发]

俺这几天一直在折腾从emacs发送blog的问题。俺的blog是在 blogger.com上托管的,网上关于从emacs往blogger上发博的方案很 多,但是事情不是那么简单滴,莫名其妙的防火长城近几个月来一直 把blogger api的url中的某个关键词给屏蔽了,所以不管是 scribefile还是windows live writer根本没法用blogger的api发帖。 愁了一个多月后我突然发现如果把api url里的http换成https,其实 是可以正常使用的,比如说

 http://www.blogger.com/feeds/111111111111111111/posts/default 

应该变成

 https://www.blogger.com/feeds/111111111111111111/posts/default 

就可以了。所以我需要手动把这些别人写的从emacs往blogger发贴的 方案里面的http换成https。

俺在emacswki比来比去,觉得这个项目比较靠谱,看上去很先进的样子。把它装上后俺就在里面发帖的那个函数里加了一 句:
 (setq url (replace-regexp-in-string "http:" "https:" url)) 

没想到换完还是不行,俺很苦恼。作为一个很爱钻牛角尖的淫, 俺最讨厌明明看起来能工作但是实际运行不起来的code了(所以每次写程序超焦虑),不吃饭不睡觉一定要把它搞运行正常了为止。

俺很焦虑地试了试api里面的给出的需要让curl POST上api url的一例xml例子,这个例子和我下载的这个方案生成的xml不太一样,但是发现同样没法工作,很快发现问题在于所有的双引号都要变成单引号。我一阵手忙脚乱地改程序。

再 试发现还是不行,当时我在办公室用的windows机器,目录分割符是\而不是unix传统的/,然后就发现把文件名传给curl的出了乱 子,cmdline下可以用curl -d "@d:\.myemacs\e-blog-tmp"传送,明明一切都正常。到了emacs里它call的时候用的是自己的shell,无论如何认不得

 curl -d "@d:\.myemacs\e-blog-tmp"  https://www.blogger.com/feeds/111111/post/default

其实我都不能确定是不是反斜杠还是@的问题,错误花样很多,非常非常奇诡...囧。

后 来我回到linux下再实验,其实参数只要-d @/home/najaj/.myemacs/e-blog-tmp已经可以用了,本篇就是在emacs里写的。但是在windows下path必须加引 号,用emacs自己的call-process里还是出奇怪的错误,我决定我自己写一片xml,存一个暂时文件,然后alt+!呼出原生shell把它 curl post出去算,emacs自己带的是什么破shell啊啊啊啊呵

我修改过的e-blog.el在这个项目的issue里。


2 Comments:

At 19/9/08 22:18 , Blogger est said...

我是来拜用emacs的MM的。orz啊。。。。

 
At 24/11/08 01:58 , Anonymous Anonymous said...

thx,and co拜

 

Post a Comment

Subscribe to Post Comments [Atom]

<< Home