2013-01-23 28 views
0

以下代碼對於外來詞不起作用,但對英語單詞完美起作用。Topsy,Twitter,Curl,Bash

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

我想你需要urlencode任何非ascii字符。 嘗試使用curl --data-urlencode,而不僅僅是curl

如果只是前面加上URL字符串將無法正常工作,將參數數據(對curl-d讀了),並且仍然使用--data-urlencode

這裏有一個工作示例:

curl -G --data-urlencode "q=سلام" -d page=1 -d mitime=1244764800 -d maxtime=1245764800 -d apikey=FAF7F2D0D8A143978CB7762CE35FCF99 "http://otter.topsy.com/search.json" 
+0

謝謝!這工作:) – user1011332

0

你必須通過網址轉義搜索字詞。

您可以嘗試使用捲曲的參數--data-urlencode

關於如何在bash中使用perl或簡單的bash來做一個很好的寫作in this link