返回顶部
首页 > 资讯 > 后端开发 > GO >如何使用 conn.read() 读取横幅
  • 576
分享到

如何使用 conn.read() 读取横幅

2024-04-05 00:04:05 576人浏览 八月长安
摘要

各位小伙伴们,大家好呀!看看今天我又给各位带来了什么文章?本文标题是《如何使用 conn.read() 读取横幅》,很明显是关于golang的文章哈哈哈,其中内容主要会涉及到等等,如果能帮到你,觉得

各位小伙伴们,大家好呀!看看今天我又给各位带来了什么文章?本文标题是《如何使用 conn.read() 读取横幅》,很明显是关于golang的文章哈哈哈,其中内容主要会涉及到等等,如果能帮到你,觉得很不错的话,欢迎各位多多点评和分享!

问题内容

我正在使用 Go 连接到随机端口。我们假设它是 22,因为这是一个很好的例子。有些端口有横幅,有些则没有。

我正在尝试获取在连接到端口后立即显示的横幅。在这种情况下 ssh-2.0-openssh_7.9 但下面的代码并没有真正给我任何东西,也没有错误。

我正在尝试找出我哪里出错了。

banner := make([]byte, 0, 256)

    connStr := net.JoinHostPort(host, port);

    dialer := net.Dialer{Timeout: 3 * time.Second}

    conn, err := dialer.Dial("tcp", connStr)
            if err != nil {
                io.WriteString(w,err.Error())
            } else {
                n, err := conn.Read(banner);
                if err != nil {
                    log.Println(w, "read error: %v", err)
                }   
                log.Println(string(banner))
                io.WriteString(w, "Connected to " +  connStr + ". " + string(n) + " byte output:" + string(banner))
                defer conn.Close()
            }

关于我在这里做错了什么有什么想法吗?或者我是否必须发送一些东西才能获得横幅?


解决方案


答案取决于横幅是什么。

如果横幅由一个可区分的字节分隔,则使用 bufio.reader 将字节吸收到该分隔符。设置截止日期,以防服务器没有响应。

conn, err := dialer.dial("tcp", connstr)
if err != nil {
    // handle error
}
defer conn.close()
conn.setreaddeadline(time.now().add(time.second))
br := bufio.newreader(conn)
banner, err := bf.readbytes(delim)
if err != nil {
     // handle error
}

如果横幅未以某种方式分隔,则读取直到超时:

conn, err := dialer.Dial("tcp", connStr)
if err != nil {
    // handle error
}
defer conn.Close()

// Read for one second or until 256 bytes are read.
conn.SetReadDeadline(time.Now().Add(time.Second))
banner := make([]byte, 256)
n, err := io.ReadFull(banner)
banner = banner[:n]

理论要掌握,实操不能落!以上关于《如何使用 conn.read() 读取横幅》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注编程网公众号吧!

您可能感兴趣的文档:

--结束END--

本文标题: 如何使用 conn.read() 读取横幅

本文链接: https://lsjlt.com/news/596001.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何使用 conn.read() 读取横幅
    各位小伙伴们,大家好呀!看看今天我又给各位带来了什么文章?本文标题是《如何使用 conn.read() 读取横幅》,很明显是关于Golang的文章哈哈哈,其中内容主要会涉及到等等,如果能帮到你,觉得...
    99+
    2024-04-05
  • smartbanner.js如何实现可定制智能应用横幅使用
    这篇“smartbanner.js如何实现可定制智能应用横幅使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“smartba...
    99+
    2023-07-05
  • smartbanner.js实现可定制智能应用横幅使用示例
    目录引言基本用法高级用法如何根据系统语言动态修改横幅文案如何自己处理点击按钮事件如何在微信浏览器内不显示横幅引言 smartbanner.js 适用于 iOS 和 Android ...
    99+
    2023-03-02
    smartbanner.js可定制智能横幅 smartbanner.js 定制横幅
  • Dreamweaver如何给网站添加一个动态横幅效果
    小编给大家分享一下Dreamweaver如何给网站添加一个动态横幅效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!为什么要给网站添加动态横幅?一方面,是图片不容...
    99+
    2023-06-08
  • 如何使用BufferedReader读取File
    这篇文章主要介绍“如何使用BufferedReader读取File”,在日常操作中,相信很多人在如何使用BufferedReader读取File问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用Buffe...
    99+
    2023-06-22
  • Linux系统使用SSH登录之前怎么示横幅消息
    这篇文章给大家分享的是有关Linux系统使用SSH登录之前怎么示横幅消息的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。OpenSSH有一个名为Banner的内置选项。在允许身份验证之前,将指定文件的内容发送给远程...
    99+
    2023-06-15
  • 如何使用JavaScript读取文件
    如何使用JavaScript读取文件,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。读取方法:1、用“readAs...
    99+
    2024-04-02
  • 如何使用python读取文件
    使用python读取文件的方法:1.使用open方式逐行读取;2.使用with方式逐行读取;3.使用read()函数读取文件的全部内容;具体方法如下:使用open方式逐行读取文件# 打开文件f = open("file.txt&q...
    99+
    2024-04-02
  • 如何使用ADO.NET读取数据
    小编给大家分享一下如何使用ADO.NET读取数据,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!ADO.NET还是比较常用的,于是我研究了一下ADO.NET读取数据...
    99+
    2023-06-17
  • python如何使用fileinput读取文件
    这篇文章主要介绍python如何使用fileinput读取文件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!fileinput 是 Python 的内置模块,但我相信,不少人对它都是陌生的。今天我把 fileinpu...
    99+
    2023-06-14
  • 如何使用ADO.NET Excel读取文件
    小编给大家分享一下如何使用ADO.NET Excel读取文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在关系数据库提供的各种对象中(表、视图、存储过程等),E...
    99+
    2023-06-17
  • 如何使用Python读取xml文件
    目录 什么是xml?获得标签属性获得子标签获得标签属性值获得标签对之间的数据方法一方法二 什么是xml? xml即可扩展标记语言,它可以用来标记数据、定义数据类型,是一种允许用户对自...
    99+
    2023-05-15
    Python读取 Python读取xml Python读取文件
  • 如何用Pandas读取
    本教程操作系统:Windows10系统、Dell G3电脑。Pandas是一个流行的Python数据处理库,可以用于读取和处理各种数据格式。下面是使用Pandas读取文件的一般步骤:1.导入Pandas库:import pandas as ...
    99+
    2023-12-09
    Pandas
  • 如何使用Uniapp绘制横线
    在Uniapp中想要绘制一条横线并不难,通过一些简单的代码就可以实现绘制横线的操作。如果你想学习如何使用Uniapp绘制横线,请跟随本文学习。一、使用CSS绘制横线我们可以通过在标签中使用CSS来绘制横线。通过以下代码片段,我们可以轻松地在...
    99+
    2023-05-14
  • 如何使用vbscript读取Access数据库
    这篇文章主要介绍如何使用vbscript读取Access数据库,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!效果如图所示:核心代码:代码如下:Option Explicit Dim arrTables( ), i, ...
    99+
    2023-06-08
  • 如何使用cv2.imread()读取BGR图像
    这篇文章给大家介绍如何使用cv2.imread()读取BGR图像,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。opencv读取图像为b,g,r方法,比如img = cv2.imread("...
    99+
    2023-06-14
  • 如何使用@PropertySource读取配置文件
    本篇内容主要讲解“如何使用@PropertySource读取配置文件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用@PropertySource读取配置文件”吧!@PropertySou...
    99+
    2023-06-29
  • python如何使用xlrd模块读取excel
    这篇文章主要介绍了python如何使用xlrd模块读取excel,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、安装xlrd模块:mac下打开终端输入命令:pip ...
    99+
    2023-06-29
  • 教你如何使用 JavaScript 读取文件
    目录使用 JavaScript 读取文件概述选择带有输入元素的文件处理输入元素的变化事件从输入元素的 files 属性中获取一个 File 对象使用 FileReader 读取 Fi...
    99+
    2024-04-02
  • 如何使用 Golang 异步读取文件?
    如何使用 go 异步读取文件:打开文件并使用 bufio.newscanner 创建扫描器。异步读取行:使用 scanner.scan() 循环读取文件中的行。并发处理行:为每个行创建一...
    99+
    2024-05-15
    golang 异步读文件 并发访问 标准库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作