Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从.txt文件发送post请求_Python_Python 3.x_Python Requests - Fatal编程技术网

Python 从.txt文件发送post请求

Python 从.txt文件发送post请求,python,python-3.x,python-requests,Python,Python 3.x,Python Requests,我是Python新手,正在寻求帮助:) 我创建了一个简单的脚本,它在IPVoid中检查IP信誉(来自lists.txt): import requests import re URL = "https://www.ipvoid.com/ip-blacklist-check/" ip = open('lists.txt') DATA = {"ip":ip} r = requests.post(url = URL, data = {"ip&quo

我是Python新手,正在寻求帮助:)

我创建了一个简单的脚本,它在IPVoid中检查IP信誉(来自lists.txt):

import requests
import re

URL = "https://www.ipvoid.com/ip-blacklist-check/"
ip = open('lists.txt')
DATA = {"ip":ip}

r = requests.post(url = URL, data = {"ip":ip})
text = r.text
bad_ones= re.findall(r'<i class="fa fa-minus-circle text-danger" aria-hidden="true"></i> (.+?)</td>', text)

print(bad_ones)
导入请求
进口稀土
URL=”https://www.ipvoid.com/ip-blacklist-check/"
ip=打开('lists.txt')
数据={“ip”:ip}
r=requests.post(url=url,data={“ip”:ip})
text=r.text
坏的=关于findall(r'(.+?)',文本)
打印(坏的)
lists.txt包含IP的列表:

  • 8.8.8.8
  • 4.4.4.4
等等

但是,该脚本只访问了脚本的一行-我想进行“批量”检查


请注意:)

不清楚txt文件中的ip地址是否逐行组织,但我假设是这样

您可以执行以下操作

导入请求
进口稀土
URL=”https://www.ipvoid.com/ip-blacklist-check/"
坏的=[]
将open('lists.txt')作为f:
对于f.readlines()中的ip:
r=requests.post(url=url,data={“ip”:ip.strip()})
text=r.text
错误的附加(关于findall(r'(.+?)',text))
打印(坏的)
用open('lists.txt')作为f的
语句
打开文件并将生成的io对象命名为f,当到达“with”块的末尾时,文件将关闭,而无需显式调用
f.close()


现在对于批处理模式,它是文本文件每一行上的一个简单循环,通过在每个
ip
字符串(文本文件的行)上调用
strip()
,使用一个简单的过滤器来去除换行符。

我甚至不确定上述程序是否有效。。程序中的
ip
变量基本上是一个io对象

您需要的是一个for循环来发送每个IP的请求

如果API接受,则可以执行批量检查

import requests
import re

URL = "https://www.ipvoid.com/ip-blacklist-check/"
ips = open('lists.txt')

for ip in ips.readlines(): 
    DATA = {"ip":ip}

    r = requests.post(url = URL, data = {"ip":ip})
    text = r.text
    '''Your processing goes here..'''

还可以探索使用
with
子句打开和关闭文件。

这就是我的例外:)现在我知道该怎么做了,谢谢!