我正在做一个端口扫描器--通过它--这是我的代码,但是它检查了下面我粘贴的输出的一个端口21
import socket
import os
host = input("Enter the host name or ip : ")
s = socket.socket()
s.settimeout(5)
p = 0;
s.close
port = [21,22,23,25,53,80,110,115,135,139,143,194,443,445,1433,3306,3389,5632,5900,6112]
while(p<=19):
try:
s.
我目前正在重写一些使用python的select.select()方法的代码,但这些代码只会返回套接字对象,在这些对象中,我必须手动将该套接字与__init__下的一个类中的套接字匹配。它的伪代码基本上是[classobject for classobject in classList if SocketFromSelection == class.socketobject][0] (我几乎正在使用)。
我在python文档中发现,在select.select()中,“您也可以自己定义一个包装类,只要它有一个适当的fileno()方法(它确实返回一个文件描述符,而不仅仅是一个随机整数)。”
我
我试图在SSH终端中使用Python发出一个简单的HTTP请求:
from requests import get
r = get("https://www.google.com")
然而,这个命令只是停留到无穷大。如果不在SSH中,则不会发生这种情况。
有没有办法发送这样的请求,让它通过?
提前谢谢。
编辑:在Joran链接中运行日志记录的只生成以下行:
INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): www.google.com
我需要清空套接字上的数据(确保没有什么可接收的)。不幸的是,在python套接字模块中没有这方面的功能。
我用这种方式实现了一些东西:
def empty_socket(sock):
"""remove the data present on the socket"""
input = [sock]
while 1:
inputready, o, e = select.select(input,[],[], 0.0)
if len(inputready)==0: break
在python3.6中,我有以下代码,它派生了一个进程,子进程更改了一个变量。但是,相同名称的变量保持不变
import os, sys, time
var = 42
child_pid = os.fork()
if child_pid == 0:
print(f"Child Process start {os.getpid()}.")
var = 20
print(f"Child variable {var}")
time.sleep(10)
print(f"Child Process end {os.get
我试图用简单的代码测试multiProcess Procee类。
但是,当我将socket对象作为进程中的参数传递时,它会引发EOFError。
下面是简单代码和例外情况。
import multiprocessing
import socket
class Multi(multiprocessing.Process):
def __init__(self, s):
multiprocessing.Process.__init__(self)
self.s = s
def run(self):
for i in range(
Python 2.7、Windows XP。我有一个向客户端发送消息的服务器。我使用select模块来检查是否有可以接收的套接字,以及捕获异常情况。我的印象是,如果客户端关闭了一个套接字,select()将在异常条件的套接字列表中返回该套接字,但它似乎并没有这样做:
lin, lout, lex = select.select(socklist, socklist, socklist)
for sock in lin:
# handle incoming messages
for sock in lout:
# send updates
for sock in lex:
我有一个TCP服务器正在监听两个不同的端口。我创建了两个不同的套接字,一个在端口8888上,一个在端口6634上。我监听这些端口,然后在FD_SET中添加两个套接字并传递给select()函数.当套接字准备好读取时,我会使用FD_ISSET查看要读取哪个端口的消息。
任何方式,当我连接到端口8888的概念是成功的,我可以发送到服务器和接收.当我ctrl+c客户机时,select函数再次返回1,现在我的accept()失败了.当我在6634端口做同样的事情时,一切都好.代码在select()处停止,并等待一个套接字准备好读取!
有人能告诉我为什么会这样吗?
看看我附件中的代码
int m