我正在尝试编写一个给出国家/地区名称的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">Å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文件 在阿富汗的时间。
非常感谢您的帮助。
答案 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,前端更改可能会破坏输出。