Gawk 中的 TCP 网络适用于某些地址,但不适用于其他地址
我一直在 Gawk 中摆弄 TCP/IP 网络,并且很难弄清楚为什么它在某些网站上表现良好,但在其他网站上却表现不佳。我什至尝试在 Windows 中使用 HTTP Live Headers 来尝试调试正在发生的事情,但无济于事。
下面的示例 Gawk 代码(版本 3.1.5)对于网站 www.sobell.com 可以正常工作,但会挂在 www.drudgreport.com 上。
BEGIN {
print "Dumping HTML of www.sobell.com"
server = "/inet/tcp/0/www.sobell.com/80"
print "GET http://www.sobell.com" |& server
while ((server |& getline) > 0)
print $0
close(server)
print "Dumping HTML of www.drudgereport.com"
server = "/inet/tcp/0/www.drudgereport.com/80"
print "GET http://www.drudgereport.com" |& server
while ((server |& getline) > 0)
print $0
close(server)
}
我很感激任何帮助!谢谢大家。
I've been fiddling with TCP/IP networking in Gawk and am having a hard time figuring out why it behaves well with some sites but not for others. I've even tried using HTTP Live Headers in Windows to try and debug what's going on, but to no avail.
The sample Gawk code below (Version 3.1.5) will work fine for the site www.sobell.com but will hang on www.drudgreport.com.
BEGIN {
print "Dumping HTML of www.sobell.com"
server = "/inet/tcp/0/www.sobell.com/80"
print "GET http://www.sobell.com" |& server
while ((server |& getline) > 0)
print $0
close(server)
print "Dumping HTML of www.drudgereport.com"
server = "/inet/tcp/0/www.drudgereport.com/80"
print "GET http://www.drudgereport.com" |& server
while ((server |& getline) > 0)
print $0
close(server)
}
I appreciate any help! Thanks All.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的代码(和 gawk 手册)使用过时的 HTTP/0.9 语法。显然第二个服务器不再支持这一点。重要区别:
以下代码对我有用:
您可以在 RFC 1945 中找到所有血腥细节( 1.0)和 RFC 2616 (1.1)。
Your code (and the gawk manual) uses the outdated HTTP/0.9 syntax. Apparently the second server no longer supports this. Important differences:
The following code works for me:
You can find all the gory details in RFC 1945 (1.0) and RFC 2616 (1.1).