【问题标题】:Sending/Streaming large files in an automated fashion via http (and avoiding the firewall)通过 http 以自动方式发送/流式传输大文件(并避开防火墙)
【发布时间】:2012-10-05 20:56:07
【问题描述】:

我创建了一个 VBScript,它从 Windows 机器收集事件数据并将其存储在 CSV 文件中。

我想通过 http 将这些数据上传回我们的办公室服务器,但是文件大小非常大。所以我查看了一些多部分/流媒体解决方案,但我告诉我,如果我以编程方式启动这些文件上传,任何 http 代理或防火墙都会阻止/拒绝请求?

任何人都可以确认这是否属实,有什么办法可以解决这个问题? 我需要有一个编程的解决方案来上传文件,我不能依赖最终用户手动调用上传(据我所知,这可以绕过防火墙/http 代理问题)

有人可以就此事提供帮助或建议吗?

我找到了这个先前的答案,但不确定它是否适用于我?此解决方案是以编程方式模仿浏览器文件上传请求,还是会要求用户“选择文件”?

Upload files with HTTPWebrequest (multipart/form-data)

【问题讨论】:

  • 除非防火墙进行深度数据包检查并查看用户代理字符串或各种X- 类型的标头,否则无法判断上传是通过程序完成的,或者是通过点击“上传”在浏览器中。
  • 感谢您的回复。我们将要部署的许多地方确实会进行深度数据包检查。自 2004 年以来,Microsoft ISA 服务器一直在这样做

标签: http file file-upload vbscript firewall


【解决方案1】:

要知道它是否会被阻止,您必须尝试一下,如果您尝试过一些代码,我们可以帮助您解决遇到的错误。一些一般性建议:

在发送前压缩 CSV,收益可能会令人印象深刻。

尝试使用像 dropbox 这样的同步服务,如果配置正确,它会通过一些防火墙。

如果安全性不是一个大问题并且 FTP 端口在防火墙中打开,您可以尝试使用 FTP 传输它,有 vbs 脚本可以执行此操作,但您必须摆弄直到它起作用。

如果绝对没有其他工作,您可以使用常规浏览器并让脚本与之交互。你可以用 AutoIt ActiveX 试试,不要用 sendkeys 试试。

如果您想学习,请尝试另一种语言,使用像 Ruby 这样的语言会更容易做到这一点,它有更多的选择来使用互联网通信和处理代理等。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-24
    • 2016-11-16
    • 2018-03-06
    • 2017-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多