当前位置: 首页 > 知识库问答 >
问题:

从powershell获取html文件值

松新
2023-03-14

我们有一个html文件,用于测试内部工具是否正确安装。

html文件输出两个已连接或连接失败的值。

下面是我们通过浏览器打开html文件时的截图。

我需要通过PowerShell终端输出上述值。

我尝试了调用Web请求,但无法获得所需的值。

Invoke-WebRequest C:\websocket.html | Select content

{60, 33, 68, 79...}

Invoke-WebRequest C:\websocket.html | Select-Object -ExpandProperty rawcontent
Content-Length: 886
Content-Type: application/octet-stream

<!DOCTYPE html>
<html>
   <meta charset = "utf-8" />
   <title>WebSocket Test</title>

   <script language = "javascript" type = "text/javascript">
      var wsUri = "ws://localhost:9091/";
      var output;
    
      function init() {
         output = document.getElementById("output");
         testWebSocket();
      }
    
      function testWebSocket() {
         websocket = new WebSocket(wsUri);
            
         websocket.onopen = function(evt) {
            onOpen(evt)
         };

     websocket.onclose = function(evt){
        onClose(evt)
     };
      }

    function onClose(evt) {
        document.getElementById('output').innerHTML += 'CONNECTION FAILED';
    }
    
      function onOpen(evt) {
    document.getElementById('output').innerHTML += 'CONNECTED';

      }
    
      window.addEventListener("load", init, false);
   
   </script>

   <h2>WebSocket Test</h2>
   <div id = "output"></div>

</html>

有什么帮助吗?

编辑:(调用WebRequest C:\websocket.html)。内容60、33、68、79、67、84、89、80、69、32、104、116、109、108、62、10、60、104、116、109、108、62、10、32、32、32、32、32、60、109、101、116、116、97、32、99、104、97、114、115、101、116、32、34、117、102、45、56、32、32、32、32、60、116、105、116、108、101、62、87、101、98、83、111、99、107、101、101、101、101、101、101、101、101、101、101、101、101、101、101, 60, 47, 116, 105, 116, 108, 101, 62, 10, 10, 32, 32, 32, 60, 115, 99, 114, 105, 112, 116, 32, 108, 97, 110, 103, 117, 97, 103, 101, 32, 61, 32, 34, 106, 97, 118, 97, 115, 99, 114, 105, 112, 116, 34, 32, 116, 121, 112, 101, 32, 61, 32, 34, 116, 101, 120, 116, 47, 106, 97, 118, 97, 115, 99, 114, 105, 112, 116, 34, 62, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 119, 115, 85, 114, 105, 32, 61, 32, 34, 119, 115, 58, 47, 47, 108, 111, 99, 97, 108, 104, 111, 115, 116, 58, 57, 48, 57, 49, 47, 34, 59, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 111, 117, 116, 112, 117, 116, 59, 10, 9, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 110, 105, 116, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 117, 116, 112, 117, 116, 32, 61, 32, 100, 111, 99, 117, 109, 101, 110, 116, 46, 103, 101, 116, 69, 108, 101, 109, 101, 110, 116, 66, 121, 73, 100, 40, 34, 111, 117, 116, 112, 117, 116, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 101, 115, 116, 101, 98, 83, 111, 99, 107, 101, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 9, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 101, 115, 116, 87, 101, 98, 83, 111, 99, 107, 101, 116, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 101, 98, 115, 111, 99, 107, 101, 116, 32, 61, 32, 110, 101, 119, 32, 87, 101, 98, 83, 111, 99, 107, 101, 116, 40, 119, 115, 85, 114, 105, 41, 59, 10, 9, 9, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 101, 98, 115, 111, 99, 107, 101, 116, 46, 111, 110, 111, 112, 101, 110, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 101, 118, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 110, 79, 112, 101, 110, 40, 101, 118, 116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 10, 9, 32, 119, 101, 98, 115, 111, 99, 107, 101, 116, 46, 111, 110, 99, 108, 111, 115, 101, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 101, 118, 116, 41, 123, 10, 9, 9, 111, 110, 67, 108, 111, 115, 101, 40, 101, 118, 116, 41, 10, 9, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 10, 9, 102, 117, 110, 99, 116, 105, 111, 110, 32, 111, 110, 67, 108, 111, 115, 101, 40, 101, 118, 116, 41, 32, 123, 10, 9, 9, 100, 111, 99, 117, 109, 101, 110, 116, 46, 103, 101, 116, 69, 108, 101, 109, 101, 110, 116, 66, 121, 73, 100, 40, 39, 111, 117, 116, 112, 117, 116, 39, 41, 46, 105, 110, 110, 101, 114, 72, 84, 77, 76, 32, 43, 61, 32, 39, 67, 79, 78, 78, 69, 67, 84, 73, 79, 78, 32, 70, 65, 73, 76, 69, 68, 39, 59, 10, 9, 125, 10, 9, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 111, 110, 79, 112, 101, 110, 40, 101, 118, 116, 41, 32, 123, 10, 9, 100, 111, 99, 117, 109, 101, 110, 116, 46, 103, 101, 116, 69, 108, 101, 109, 101, 110, 116, 66, 121, 73, 100, 40, 39, 111, 117, 116, 112, 117, 116, 39, 41, 46, 105, 110, 110, 101, 114, 72, 84, 77, 76, 32, 43, 61, 32, 39, 67, 79, 78, 78, 69, 67, 84, 69, 68, 39, 59, 10, 10, 32, 32, 32, 32, 32, 32, 125, 10, 9, 10, 32, 32, 32, 32, 32, 32, 119, 105, 110, 100, 111, 119, 46, 97, 100, 100, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 34, 108, 111, 97, 100, 34, 44, 32, 105, 110, 105, 116, 44, 32, 102, 97, 108, 115, 101, 41, 59, 10, 32, 32, 32, 10, 32, 32, 32, 60, 47, 115, 99, 114, 105, 112, 116, 62, 10, 10, 32, 32, 32, 60, 104, 50, 62, 87, 101, 98, 83, 111, 99, 107, 101, 116, 32, 84, 101, 115, 116, 60, 47, 104, 50, 62, 10, 32, 32, 32, 60, 100, 105, 118, 32, 105, 100, 32, 61, 32, 34, 111, 117, 116, 112, 117, 116, 34, 62, 60, 47, 100, 105, 118, 62, 10, 10, 60, 47, 104, 116, 109, 108, 62, 10

共有2个答案

施阳曜
2023-03-14
$value= Invoke-RestMethod -Uri "C:\websocket.html" 
$op = [char[]]$value.Content
$op -join ''

连德水
2023-03-14

Invoke WebRequest实际上并不处理本地html文件。尽管看起来很成功,但它只是。。。打开文件。较新版本的powershell(下面的v7.1)更清楚地说明了这一点:

Invoke-WebRequest C:\websocket.html

[Error] Invoke-WebRequest: Only 'http' and 'https' schemes are allowed. (Parameter 'requestUri')

另一个选项是使用internet explorer COM对象基本上在IE中打开文件,然后刮取页面:

$url = 'C:\websocket.html'
$ie = New-Object -com internetexplorer.application  -Property @{visible = $false}
$ie.navigate($url)

# Optionally wait for connection
while ($ie.Busy -eq $true){sleep 1}
$output = $ie.Document.documentElement.innerText
# Output the last line of the returned page
$output -split [environment]::NewLine | Select -Last 1
$ie.Quit()

# Outputs:
CONNECTION FAILED

如果输出看起来不正常,设置visible=$true,看看IE是否在抱怨什么(对我来说,我必须允许ActiveX)。

 类似资料:
  • 主要内容:Jsoup 读取文件获取HTML 语法,Jsoup 读取文件获取HTML 说明,Jsoup 读取文件获取HTML 示例以下示例将展示使用文件从磁盘获取 HTML,然后查找其数据。 Jsoup 读取文件获取HTML 语法 document : 文档对象代表 HTML DOM。 Jsoup : 连接 url 并获取 HTML 字符串的主类。 url : 要加载的 html 页面的 url。 Jsoup 读取文件获取HTML 说明 connect(url) 方法建立到 url 的连接,get

  • 问题内容: 我在相当基本的android开发水平上。 我想从诸如“ http://www.google.com”的页面获取文本。(我将使用的页面只有文本,因此没有图片或类似的东西)所以,要明确:我想将页面上的文本写入应用程序中的字符串等。 我尝试了这段代码,但是我什至不知道它是否能满足我的要求。 无论如何我都无法收到任何文字。我应该怎么做? 问题答案: 从您提供的示例代码中,您甚至没有读取请求的响

  • 本文向大家介绍Powershell小技巧之从文件获取系统日志,包括了Powershell小技巧之从文件获取系统日志的使用技巧和注意事项,需要的朋友参考一下 有时你可能会需要分析系统文件将他们传输到硬盘,或你想直接从“evtx”读取系统日志。 你可以这样做: 另附上一段获取系统日志的代码 支持Powershell所有版本

  • 如何使用JSOUP从html字符串获取图标路径? 我找到了在网页上添加favicon的不同方法- (在谷歌) 我能得到的第一个方法是使用doc。选择(“html头元”) 但我无法选择链接标签

  • 我有一个java代码可以将这些值追加到我的属性文件中 我的属性文件将有如下条目。 key1=主机、端口、orcl、用户名、密码 key2=主机、端口、orcl、用户名、密码 key3=主机、端口、orcl、用户名、密码等… 这些key1、key2和key3是连接名。 在进入属性文件之前,首先我必须检查该文件是否提供了连接名条目。我的意思是,如果用户再次使用key1或key2或key3连接名输入值,

  • 问题内容: 有没有办法从或从中获取文件名? 问题答案: 看起来答案是否定的: http://download.oracle.com/javase/1.4.2/docs/api/java/io/FileOutputStream.html http://docs.oracle.com/javase/7/docs/api/index.html?java/io/FileOutputStream.html