【问题标题】:Powershell cmdlet Invoke-WebRequest chokes on wildcard?Powershell cmdlet Invoke-WebRequest 在通配符上阻塞?
【发布时间】:2013-05-18 08:42:37
【问题描述】:

奇怪的是:我在这里有一个 Powershell cmdlet,似乎全世界都被通配符所窒息。老实说,我不知道这是可能的——我的意思是,这东西说它实际上并不接受通配符,所以无论如何......

无论如何,这是一个从一系列网页下载文件的脚本。其中一个在中间,而不是静态链接,有一个更像...“http://foo.org/file.php?filestuff”的链接,每次我访问那个文件时,我都会收到此错误:

Invoke-WebRequest : Cannot perform operation because the wildcard path http://foo.org/file.php?filestuff did not resolve to a file.

我该如何解决?

【问题讨论】:

  • 看起来这实际上可能是请求被拒绝的问题——这似乎意味着错误消息实际上是错误的,而不是 cmdlet,嗯?
  • 在这种情况下,Web 应用程序将因未返回正确的状态代码而出错。我刚刚进行了一些快速测试,cmdlet 报告了相应的错误。
  • 这听起来更像是您没有使用正确的参数。您应该将地址传递给invoke-webrequest 的-Uri 参数。你能展示你的调用语法吗?
  • 请显示调用语法,如指定的@x0n。另外,路径是否包含星号或其他东西?不熟悉“通配符路径”,尤其是在 http-uri
  • 是的,也检查一下Obelixes! en.wikipedia.org/wiki/Asterix ;-) 说真的,http 协议中没有通配符路径之类的东西。

标签: powershell wildcard webrequest


【解决方案1】:

是的,该请求实际上被网站拒绝了,因此 cmdlet 返回了关于通配符路径的废话。我认为那是因为路径确实包含一个 powershell 通配符(即 ? - 这在 HTTP 请求中绝对是合法的,信不信由你:P)。

【讨论】:

    猜你喜欢
    • 2018-09-08
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 2020-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多