2

我在下载数据日志时遇到问题。已经使用python进行编码以每天自动下载数据日志。并且编码工作在三个站点上。但是,在第四个站点上,使用相同的代码,我得到一个 ERROR 404 not found。但是,可以通过单击手动下载文件。

已经尝试在西门子论坛中搜索问题,但无济于事。

所以,如果有人有这个问题的经验并有解决方案,请与我分享。

这是我的编码;

    import subprocess
    import datetime
    import wget
    from datetime import date, timedelta

    yesterday = date.today() - timedelta(1)
    x = yesterday.strftime("%y%m%d")
    print ("Downloading F_" + x + ".csv")

    datetime_object = datetime.datetime.now()

    url = 'http://{PLC_IP}/FileBrowser/Download?Path=/DataLogs/F_' + x + '.csv'

    filename = wget.download(url)

    filename

谢谢你。

4

1 回答 1

1

我真的不知道是什么阻止了我的编码在 Web 服务器中下载数据日志。但是,在尝试了我在这里找到的不同编码之后,我得到了它的工作。

希望这有帮助。

编辑/更新 1:

OPs 问题与 S7-1214 固件 V04.02.01 有关。
以下解决方案适用于固件版本 4.2。
OP Sebastian Geier提供的解决方案。

:: 登录到网络服务器。用户名:admin,密码:admin,PLC的IP:192.168.0.1。将登录后的 cookie 存储在“cookies.txt”中并保持会话处于活动状态以进行复制过程

wget.exe --no-check-certificate --post-data="Redirection&Login=admin&Password=admin&submit=Anmelden" --save-cookies=cookies.txt --referer= http://YOUR_IP/Portal/Portal.mwsl? PriNav=开始--keep-session-cookies http://YOUR_IP/FormLogin

:: 再次加载 cookie 并切换到网络服务器的“文件浏览器”。在那里,文件“MyDataLog.csv”将被复制到桌面,名为“info.csv” :: 加载文件 wget.exe --no-check-certificate --load-cookies=cookies.txt --referer= http://YOUR_IP/Portal/Portal.mwsl?PriNav=FileBrowser?Path=/DataLogs http://YOUR_IP/FileBrowser/Download?Path=/DataLogs/Counter_Export.csv--output-document=store/DataLog_LogOn_S7-1200。 CSV

注意:还要添加指令:path=\Datalogs

于 2019-06-20T02:59:45.043 回答