gpt4 book ai didi

sockets - 每次404,SHOUTcast提取请求均被拒绝

转载 作者:行者123 更新时间:2023-12-03 12:01:00 25 4
gpt4 key购买 nike

代码

function radiotest(host,port)
local rstr="Online"
local sock, err = socket.tcp()
if not sock then
return "Failed"
end
sock:settimeout(1)
local res, err = sock:connect(host, port)
if not res then
return "offline"
else
sock:settimeout(1)
sock:send("GET /index.html HTTP/1.0\r\n UserAgent: SHOUTcast Song Status \r\n Accept: */*\r\n\r\n")
sock:settimeout(3)
local data=sock:receive('*a')
sock:close()
print(data)
-- Further processing content here
end
end
print( radiotest( "10.*.*.*", 1234 ) )

上面的套接字连接返回我:
ICY 404 Resource Not Found
icy-notice1:<BR>SHOUTcast Distributed Network Audio Server/win32 v1.9.7<BR>
icy-notice2:The resource requested was not found<BR>

我认为问题出在我的标题列表中,但我无法跟踪它。

该页面在所有浏览器中都可以正常打开(Opera确实需要屏蔽为其他浏览器;否则,它将继续下载所有歌曲)。

我尝试在 sock:send()中使用以下字符串
  • GET /index.html HTTP/1.0\r\n UserAgent: SHOUTcast Song Status (Mozilla Compatible)\r\n\r\n
  • GET /index.html HTTP/1.0\r\n UserAgent: Opera/9.80 (Windows NT 6.1; Win64; x64) Presto/2.12.388 Version/12.12\r\n\r\n
  • GET /index.html HTTP/1.0\r\n UserAgent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17\r\n\r\n

  • 我完全陷入了这一部分。如何使用 socket.tcp()提取页面?

    最佳答案

    在查看完数据包捕获之后,似乎实际上通过有线发送的内容是错误的。您的用户代理字符串不成功:

    > GET /index.html HTTP/1.0

    < ICY 404 Resource Not Found
    < icy-notice1:<BR>SHOUTcast Distributed Network Audio Server/win32 v1.9.7<BR>
    < icy-notice2:The resource requested was not found<BR>

    如果您未指定包含 Mozilla的用户代理,则将无法访问管理界面或其任何部分。返回并再次检查发送的代码。

    关于sockets - 每次404,SHOUTcast提取请求均被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14891900/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com