Topsy,Twitter,Curl,Bash

时间:2013-01-23 05:23:48

标签: bash curl twitter arabic topsy

下面的代码不适用于外来词,但在英语单词上效果很好。

let int=1244764800
let start=86400+$int 
let l=86400*7
let end=$int-$l

for (( k = $start ; k > $end ; k=k-3600 )) do
for (( j = 1 ; j < 11 ; j++ )) do
let mintime=$k-3600;
let maxtime=$k
searchwords="سلام"

#echo $maxtime
curl "http://otter.topsy.com/search.json?q="${searchwords}"&page="$j"&perpage=100&mintime="${mintime}"&maxtime="${maxtime}"&apikey=FAF7F2D0D8A143978CB7762CE35FCF99"
done
done

这产生以下结果:

curl: (7) couldn't connect to host

curl: (7) couldn't connect to host

我重申这个脚本与英语单词完美配合,但我需要用外来词来运行它,所以我很感激任何帮助/指导! 谢谢:))

2 个答案:

答案 0 :(得分:2)

我猜你需要urlencode任何非ascii字符。 尝试使用curl --data-urlencode,而不仅仅是curl

如果只是在前缀URL字符串不起作用,请将参数移至数据(在-d的{​​{1}}上阅读)并仍然使用curl

这是一个有效的例子:

--data-urlencode

答案 1 :(得分:0)

你必须排除搜索词的字符。

您可以尝试使用curl的--data-urlencode参数。

关于如何使用perl或仅使用普通bash在bash中执行此操作,有一个很好的写作in this link