AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题 / 1595513
Accepted
batchcoding____s
batchcoding____s
Asked: 2020-10-20 03:37:06 +0800 CST2020-10-20 03:37:06 +0800 CST 2020-10-20 03:37:06 +0800 CST

如何使用 cURL 在 Windows 8.1 中通过 cmd 获取天气?

  • 772

如何使用 获取天气结果cURL,为其分配一个变量以供以后使用?就像是:

# This doesn't work and is only a reference for what I want:

  set mytemperature= curl www.yahoo.com/(mycity)/weather.temperature  
  echo %mytemperature%
windows batch
  • 3 3 个回答
  • 1160 Views

3 个回答

  • Voted
  1. Best Answer
    Io-oI
    2020-10-20T05:27:27+08:002020-10-20T05:27:27+08:00

    在此处输入图像描述


    要将描述和温度保存在文件中的变量中,还要从输出.bat中删除字符┬░(十六进制:)并取回度数符号 [ ]:[0xB0 and 0xC2wttr.inLondon: +13┬░Cº

    • @echo off 
      
      cd /d "%~dp0" && setlocal EnableDelayedExpansion
      
      >nul chcp 437 && set /p "_city=Please, enter some location, city, an attraction: " 
      for /f "delims= " %%d in ('forFiles /p "." /m "%~nx0" /c "cmd /c echo(0xF8"')do set "_o=%%~d"
      
      for /f tokens^=* %%i in ('^<con: curl https://wttr.in/%_city: =+%^?format^=%%l:+%%t\n -s
      ')do for /f %%T in ('^<con: cmd /u /c "echo\%%~i"^<nul^|find/v "%_o%"^|findstr /v ^,"
      ')do set "_dt=!_dt!%%~T"
      
      set "_description_temperature=!_dt::=: !" && call echo\!_description_temperature:+=!!_o!C
      
      timeout -1 & endlocal & goto :eof
      
      输出:London: +13°C
      rem :: char       hex code
      rem ::  ░    ==   0xB0   // removed in loop
      rem ::  ┬    ==   0xC2   // removed in loop
      rem ::  °    ==   0xF8   // set _description_temperature=!_dt::=: !!_o!
      


    老的:

    • PowerShell:您可以使用来自@igor_chubin的解决方案
      (curl http://wttr.in/riodejaneiro -UserAgent "curl" ).Content
      或者
      powershell -nop -c "(curl http://wttr.in/riodejaneiro -UserAgent "curl" ).Content"

    • 批处理文件:使用 whiteout 时,提供一些位置 [ curl http://wttr.in],否则将假定您当前的位置显示数据:
      @echo off && title <nul && title %~nx0 && mode 128,45
      
      powershell -nop -c "(curl http://wttr.in/riodejaneiro -UserAgent "curl" ).Content"
      

    • 命令:
      set _temp=cmd /a /v /c "curl wttr.in/RioDeJaneiro?format=^%t --silent"
      
      %_temp%
      

    定义输出:

    • $ curl wttr.in/London?format=%l:+%t\n 
      London: +13°C
      • 要指定您自己的自定义输出格式,请使用特殊的%-notation:
        c    Weather condition,
        C    Weather condition textual name,
        h    Humidity,
        t    Temperature (Actual),
        f    Temperature (Feels Like),
        w    Wind,
        l    Location,
        m    Moonphase ????????,
        M    Moonday,
        p    precipitation (mm),
        P    pressure (hPa),
        D    Dawn*,
        S    Sunrise*,
        z    Zenith*,
        s    Sunset*,
        d    Dusk*.
        
          (*times are shown in the local timezone)
        
        $ curl wttr.in/London?format=3
          London: ⛅️ +7⁰C
        
        $ curl wttr.in/London?format="%l:+%c+%t\n"
          London: ⛅️ +7⁰C
        

    • 如果您想知道地球上最冷的永久居住地之一的名称并了解那里的天气:
      curl wttr.in/*
      
    • 6
  2. Ricardo Bohner
    2020-10-20T06:19:08+08:002020-10-20T06:19:08+08:00

    将温度转化为变量:

    @echo off
    chcp 1252 > nul
    ::Put your city here:
    set City=Rio de Janeiro
    
    set City_=%City: =-%
    for /f "Delims=" %%a in ('curl --silent wttr.in/%City_%?format^=%%t') do set "CTemperature=%%a"
    set CTemperature=%CTemperature:+=%
    set CTemperature=%CTemperature:~0,-3%
    echo The current temperature in %City% is %CTemperature% º Celcios
    echo.
    pause
    

    将温度和天气描述转化为变量:

    @echo off
    chcp 1252 > nul
    ::Put your city here:
    set City=Rio de Janeiro
    
    set City_=%City: =-%
    for /f "Delims=" %%a in ('curl --silent wttr.in/%City_%?format^=%%t') do set "CTemperature=%%a"
    set CTemperature=%CTemperature:+=%
    set CTemperature=%CTemperature:~0,-3%
    for /f "skip=1 tokens=4*" %%a in ('curl --silent wttr.in/%City_%?0') do set "Description=%%a %%b"& goto :Next
    :Next
    echo.
    echo The current temperature in %City% is %CTemperature% º Celcios "%Description%"
    echo.
    pause
    
    • 5
  3. Tarun
    2021-04-15T03:26:56+08:002021-04-15T03:26:56+08:00

    curl wttr.in/Mumbai

    了解几天的温度

    只需使用 curl 命令和您的城市名称并获取天气预报

    这是孟买市的天气预报:
    孟买天气的cmd图像

    • 1

相关问题

  • 批量重命名图像文件集

  • Python 的“pass”参数的批处理等价物是什么?

  • 在 Windows 上与 Docker 守护进程通信

  • 资源管理器侧面板中的桌面外壳快捷方式

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 为什么通过电缆(同轴电缆)的千兆位/秒 Internet 连接不能像光纤一样提供对称速度? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    fixer1234 “HTTPS Everywhere”仍然相关吗? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve