如何使用curl将参数传递给https://www.worldtimeserver.com/网站

时间:2017-12-07 23:59:43

标签: bash curl

我正在尝试编写一个给出国家/地区名称的bash程序 显示该国家/地区的时间。为此我使用https://www.worldtimeserver.com/

这个想法是将国家作为bash程序的参数并传递给它 到网站搜索它。我正在使用卷曲,我尝试了很多可能 将参数传递给网站的方法,但没有任何效果。

该网站的相关html代码如下所示:

Choose a location to see current local time right now:<br />
<select name="ctl00$ContentPlaceHolderMain$locationddl" id="ContentPlaceHolderMain_locationddl" onchange="gotocurrenttime(this);" style="max-width:100%">
<option value="">select a location</option>
<option value="UTC">(UTC/GMT)</option>
<option value="AF">Afghanistan</option>
<option value="AX">&#197;land Islands</option>

所以,我在bash中尝试了以下代码来尝试传递&#34; AF&#34; 这是阿富汗的代码,用于搜索网站。

我从命令行输入以下内容:

  

curl -X POST -F&#39; ctl00 $ ContentPlaceHolderMain $ locationddl = AF&#39;   https://www.worldtimeserver.com/&gt; | TMP

然后我查看了创建的tmp文件,就好像没有参数一样 给予搜索。

所以,问题是如何正确传递国家的参数 阿富汗,以便我得到回复显示的html文件 在阿富汗的时间。

非常感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

这应该可行,但如果您不使用官方API,它可能会在没有通知的情况下中断

code=TR; curl -s https://www.worldtimeserver.com/current_time_in_$code.aspx

文件非常大,可能没有多大实用价值。我通过管道grep -A1 'id="theTime"'来获得时间......

答案 1 :(得分:0)

这是一种直接将UTC时间(或其他时区)移出世界时钟的快速方法,而无需仅使用curl和egrep即可使用API​​:

$ export UTC=$(curl -s https://www.timeanddate.com/worldclock/timezone/utc|\
egrep -o "[0-9][0-9]:[0-9][0-9]:[0-9][0-9]")

$ echo $UTC
20:37:08

请注意,不使用API​​,前端更改可能会破坏输出。