批量文本读取URL获取正常访问且保留对应IP
#coding=utf-8
import sys
import requests
for i in range(3000,4999,1):
url = 'http://192.168.88.139:8888/20150602'+str(i)+'.html'
r = requests.get(url)
if r.status_code == 200:
print url
print r.content
原文
http://zone.wooyun.org/content/20885
多线程+文本逐行读取+URL的IP转换+写入
# -*-coding:utf-8-*-
import os
import sys
import Queue
import getopt
import logging
import requests
import threading
import time
import socket
print "start:" + (time.strftime("%H:%M:%S")) logging.basicConfig(
level=logging.WARNING,
format="[%(asctime)s] %(message)s"
) class BatchThreads(threading.Thread):
def __init__(self, queue):
super(BatchThreads, self).__init__()
self.queue = queue def run(self):
while True:
if self.queue.empty():
break
else:
tempurl = self.queue.get()
#print tempurl
try:
url = 'http://'+tempurl
#print url
r = requests.get(url, timeout=5)
if r.status_code == 200 :
print url+' '+'access-comman:200'
#print tempurl
ip = socket.gethostbyname(tempurl)
#print ip
yes = open('yes.txt','a')
yes.write(url+' ')
yes.write(' '+ip+'\n')
yes.close() except:
pass
print url+" error"
noaccess = open('noaccess.txt','a')
noaccess.write(url+'\n')
noaccess.close() def batch_queue(_queue, _thread_number):
with open('url-hz.txt') as f:
urls = [line.strip() for line in f.readlines()]
urls = set(filter(lambda url: url and not url.startswith("#"), urls))
if urls:
for url in urls:
queue.put(url)
if _thread_number > (queue.qsize() / 2):
_thread_number = (queue.qsize()) for _ in xrange(_thread_number):
threads.append(BatchThreads(_queue)) for t in threads:
t.start()
for t in threads:
t.join() threads = []
queue = Queue.Queue()
thread_number = 20
batch_queue(queue, thread_number) print"end:" + (time.strftime("%H:%M:%S"))
批量文本读取URL获取正常访问且保留对应IP的更多相关文章
- js进阶ajax读取json数据(ajax读取json和读取普通文本,和获取服务器返回数据(链接)都是一样的,在url处放上json文件的地址即可)
js进阶ajax读取json数据(ajax读取json和读取普通文本,和获取服务器返回数据(链接)都是一样的,在url处放上json文件的地址即可) 一.总结 ajax读取json和读取普通文本,和获 ...
- java正则 读取html 获取标题/超链接/链接文本/内容
java正则 读取html 获取标题/超链接/链接文本/内容 参考链接:http://yijianfengvip.blog.163.com/blog/static/175273432201142785 ...
- js javascript 获取url,获得当前页面的url,静态html文件js读取url参数
获得当前页面的url window.location.href 静态html文件js读取url参数 location.search; //获取url中"?"符后的字串 下边为转载的 ...
- PHP 获取当前访问的完整URL
代码如下: <?php // php 获取当前访问的完整url function GetCurUrl() { $url = 'http://'; if(isset($_SERVER['HTTPS ...
- Linux分析日志获取最多访问的前10个IP
原文地址:http://xuqq999.blog.51cto.com/3357083/774714 apache日志分析可以获得很多有用的信息,现在来试试最基本的,获取最多访问的前10个IP地址及访问 ...
- linux分析apache日志获取最多访问的前10个IP
apache日志分析可以获得很多有用的信息,现在来试试最基本的,获取最多访问的前10个IP地址及访问次数. 既然是统计,那么awk是必不可少的,好用而高效. 命令如下: awk '{a[$1] += ...
- 更改一个链接的文本、URL 以及 target
<html> <head> <script type="text/javascript"> function changeLink() { do ...
- 根据URL获取图片
背景:今天因为生产环境的系统界面图片无法显示被领导叼了一波,之前用Hutool工具类解析URL获取图片的,在生产环境上跑了一个多月都正常,嘣,今天突然发现周六下午后的图片统统显示异常,之后改为用jav ...
- Java从URL获取PDF内容
Java直接URL获取PDF内容 题外话 网上很多Java通过pdf转 HTML,转文本的,可是通过URL直接获取PDF内容,缺没有,浪费时间,本人最近工作中刚好用到,花了时间整理下,分享出来,防止浪 ...
随机推荐
- spring环境的搭建及作用和定义<一>
问题?spring的定义及作用.spring的环境搭建 一.spring的定义及作用 1.spring由Rod Johnson创建的一个开源框架,它是为了解决企业应用开发的复杂性而创建的.框架的主要优 ...
- Java实验报告五:Java网络编程及安全
Java实验报告五:Java网络编程及安全 ...
- protobuf序列化、反序列化
引用dllprotobuf-net.rar /// <summary> /// buf序列化 /// </summary> public static String Seria ...
- 将数据导入hive,将数据从hive导出
一:将数据导入hive(六种方式) 1.从本地导入 load data local inpath 'file_path' into table tbname; 用于一般的场景. 2.从hdfs上导入数 ...
- XCODE打包安装包步骤
1. 2. 3. 4. 5. 6. 7. 导出之后就可以看到一个后缀为.ipa 的安装包.
- Majority Element || leetcode
编程之美上一样的题目.寻找发帖水王. 利用分治的思想. int majorityElement(int* nums, int numsSize) { int candidate; int nTimes ...
- Solr搜索基础
本例我们使用类库和代码均来自: http://www.cnblogs.com/TerryLiang/archive/2011/04/17/2018962.html 使用C#来模拟搜索.索引建立.删除. ...
- HTTP 协议的历史演变和设计思路
HTTP 协议是互联网的基础协议,也是网页开发的必备知识,最新版本 HTTP/2 更是让它成为技术热点. 本文介绍 HTTP 协议的历史演变和设计思路. 一.HTTP/0.9 HTTP 是基于 TCP ...
- WPF 本周、本月、本季、本年的第一天与最后一天取法
lblWeekStart.Content = DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOf ...
- 【转】关于Android资源文件中出现百分号的问题
关于Android资源文件中出现百分号的问题 分类: Android JAVA2014-08-01 16:53 1345人阅读 评论(0) 收藏 举报 ANDROID格式化资源文件 目录(?)[+ ...