我提前感谢您的帮助。我正在尝试编写一个python脚本,将IP地址发布到下面引用的站点,并将结果打印在终端或文件中,然后立即读取该文件。
这是我的剧本:
#!/usr/bin/env python
import requests
IP = raw_input("Enter IP address here: ")
Alert_URL = 'http://www.blacklistalert.org'
def submit_form():
"""Submit a form"""
payload = IP
# make a get request
resp = requests.get(Alert_URL)
print "Response to GET request: %s" % resp.content
# send POST request
resp = requests.post(Alert_URL, payload)
print "Headers from a POST request response: %s" % resp.headers
# print "HTML Response: %s" %resp.read()
if __name__ == '__main__':
submit_form()
该网站有部分在网页上输入IP地址,并检查网站我发现输入的行如下:
<form method=POST onsubmit="document.forms[0].submit.disabled='true';">
IP or Domain <input onclick="this.value='';" name=q value=11.11.154.23>
我想以某种方式使用上面的输入部分发布我想要检查到网站的IP地址。例如,使用raw_input发布到&#39; value =&#39;部分,并得到结果。
感谢您的帮助。
答案 0 :(得分:0)
您需要解析PHPSESSID
并发帖:
import requests
from bs4 import BeautifulSoup
ip = raw_input("Enter IP address here: ")
data = {"q": ip} # ip goes here
url = "http://www.blacklistalert.org/"
with requests.Session() as s:
# get the page first to parse
soup = BeautifulSoup(s.get(url).content)
# extract and add the PHPSESSID
PHPSESSID = soup.select_one("input[name=PHPSESSID]")["value"]
data["PHPSESSID"] = PHPSESSID
# finally post
res = s.post(url, data=data)
print(res)
print(res.content)