我一直在尝试将用于检查IP地址的python脚本编写到www.blacklistalert.com。目标是在一个或多个IP地址上运行脚本作为标准输入。然后在命令行上打印站点的标准输出。
import urllib.parse
import urllib.request
ip = str(urllib.request'[$1]')
url = 'http://www.blacklistalert.org/'
values = { 'query': '$1' }
data = urllib.parse.urlencode(values)
url = '?'.join([url, data])
req = urllib.request.Request(url, binary_data)
response = urllib.request.urlopen(req)
the_page = response.read()
print (the_page)
我遇到了将查询发送到页面并获取结果的问题,这些结果来自单独的页面。我目前收到错误:
ip = str(urllib.request'[$1]')
SyntaxError: invalid syntax
运行IP地址查询的最佳方法是什么,并在标准输出中获得响应?提前谢谢。
答案 0 :(得分:0)
Python不是bash,并且不会将stdin上的参数自动处理为$1
之类的变量(提示:Python中使用的唯一位置$
是基于美元处理货币时)。相反,Python将命令行参数放在sys.argv
列表中。您可以从那里读取它们(sys.argv[0]
是脚本的名称,sys.argv[1]
等等是命令行参数 - 阅读完整故事的文档),或者使用像{{3我推荐的模块。还有更多的代码,但最终还是值得的。