首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我的stdout会干扰我的python网页?

为什么我的stdout会干扰我的python网页?
EN

Stack Overflow用户
提问于 2012-03-01 06:23:48
回答 3查看 219关注 0票数 1

非常简单的代码,它只需要使用scapy来触发一个pcap (包),

如果我只是想对自己做一些简单的cgi-bin帖子来运行一组10个简单的测试,为什么这只是一个文本(而不是一个网站)。如果我注释掉这行

代码语言:javascript
运行
复制
sendp(a, iface="em1")

然后下面的代码就可以很好地生成网站了。但它实际上不会发送数据包,我想这是使用stdout……欢迎提出建议!

代码语言:javascript
运行
复制
#!/usr/local/bin/python

from scapy.all import *
#import v6tester_main

print "Content-type:text/html\r\n\r\n"
print '<html>'
print '<head>'
print '<title>NPD Automation Tool - GCT-USG</title>'
print '</head>'
print '<body>'
print '<font> NPD Automation Tool </font>'

a = Ether() / IP() / IPv6() / ICMPv6EchoRequest()
sendp(a, iface="em1")

print '<br>'
print '<font>End of Test</font>'
print '</body>'
print '</html>'

如果我查看源代码,我会看到以下内容->

代码语言:javascript
运行
复制
<html>
<head>
<title>NPD Automation Tool - GCT-USG</title>
</head>
<body>
<font> NPD Automation Tool </font>

Sent 1 packets.
<br>
<font>End of Test</font>
</body>
</html>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-01 07:50:00

很可能sendp的输出会把超文本标记为文本,你能做的就是尝试将verbose=0传递给sendp (如果输出不重要),或者尝试其他详细级别。如果sendp的输出对您很重要,您可以使用subprocess.Popen在单独的脚本中运行它,并尝试格式化输出,使其适合HTML页面。

编辑: ops,有人已经回答了几乎相同的问题

票数 1
EN

Stack Overflow用户

发布于 2012-03-01 07:40:11

据我所知,sendp不仅将包回传到标准输出;它还在较低的协议层将其“发送到线路上”。因此,如果你想发送一个html头,你需要将它包装在一个包中,而不是相反。

但是你确定你需要和斯帕希打交道吗?如果你想要的只是向can服务器发送POST请求,你可以直接使用urllib2.urlopen。将POST数据放入可选的data参数中,它将对请求使用POST而不是GET。

票数 1
EN

Stack Overflow用户

发布于 2012-03-01 07:03:21

看起来你没有发送http数据(例如响应头)。

因为它是在web服务器上运行的,所以您应该这样做。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9507602

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档