We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Great minds have purpose, others have wishes.
manage
upload
js
jmx-console
Firebug
HTML
显示注释
url
Queue
Lock
global
import 模块
Thread
join
setDaemon
B.join()
join([timeout])
timeout
for
B.setDaemon(True)
start()
Queue.Queue()
task_done
q.join()
get
q.qsize()
q.join
Python 2.X
BUG
socket.error:[Errno 10054]
urlopen
urlopen()
request.read()
The text was updated successfully, but these errors were encountered:
No branches or pull requests
0x01 Wooyun
manage
目录下存在upload
接口,可以上传文件,本地js
判断后缀名,抓包修改绕过jmx-console
命令执行0x02 Wooyun爬虫
Firebug
:HTML
选项下面可以选择显示注释
url
放入到一个Queue
中Queue
是安全的,所有无需用Lock
global
声明import 模块
采用模块名.参数名的方法调用Thread
线程join
和setDaemon
join
:在主线程A(也就是主程序)中,创建了子线程B(也就是分出去工作的线程),调用了B.join()
,那么主线程A会被阻塞,不会往下执行,一直等待子线程B工作完成后,主线程A才可以接着往下执行join([timeout])
timeout
代表线程运行的最大时间,如果超过这个时间,不管子线程有没有执行完毕都会被收回,主线程继续往下执行for
循环调用子线程的join
方法setDaemon
:设置主线程为子线程的守护进程,也就是B.setDaemon(True)
,就是设置了A是B的守护进程,主线程A执行完毕时,不管子线程B是否执行完毕都和主线程A一起退出,基本是和join
相反的,设置守护进程需要在start()
方法前Queue
队列,Queue.Queue()
是一个类对象,其实也是锁的安全表示形式join
和task_done
join
: 在主线程中设置q.join()
,代表阻塞主线程,直到队列中的任务全部被执行完成,主线程才可以继续执行下面的内容,但是主程序如何得知队列中的任务已经被全部完成呢?这里就需要task_done
task_done
: 说明队列get
出来的这个任务已经被完成,队列中任务数量减少一,当队列q.qsize()
为0的时候,就表明队列中任务全部被完成了,task_done
单独使用的时候(后面不带q.join
),仅表示完成了队列中的一个任务Python 2.X
版本的Queue
有BUG
socket.error:[Errno 10054]
远程主机强迫关闭了一个现有的连接urlopen
操作时,被认定攻击行为,不在允许下载,导致urlopen()
后,request.read()
一直卡死,最后抛出100540x03 一天总结
Queue
的BUG,姑且就认为是个BUG吧,具体功能已经实现,可以自定义开始页面,截至页面,线程数,不过任然可以继续优化The text was updated successfully, but these errors were encountered: