python请求从不同的u获得响应

2024-04-25 13:24:05 发布

您现在位置:Python中文网/ 问答频道 /正文

是否可以从不同的文件获取post请求响应? 这是我的密码

from PIL import Image
from PIL import ImageEnhance
import PIL.ImageOps
import pytesseract
import numpy
from bs4 import BeautifulSoup
import urllib.request
import requests
import io


pytesseract.pytesseract.tesseract_cmd = 'C:/Program Files (x86)/Tesseract-OCR/tesseract'
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 '
                         '(KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}

register_url = 'https://register.example.com/index.php'

soup = BeautifulSoup(urllib.request.urlopen(register_url).read(), features="lxml")
url = soup.img['src']


imageResponse = requests.get(url)
captcha_image = Image.open(io.BytesIO(imageResponse.content)).convert('RGB')
image = PIL.ImageOps.grayscale(captcha_image)
image = ImageEnhance.Brightness(image).enhance(3)
image = PIL.ImageOps.colorize(image, (255, 255, 255), (0, 0, 0))
imageArray = numpy.array(image)

text = pytesseract.image_to_string(imageArray, config="-c tessedit_char_whitelist=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ")

payload = {
    "username": "teststuff1",
    "pass": "123456",
    "pass2": "123456",
    "email": "userfd@hotmail.com",
    "captcha": text
}

session = requests.Session()
post = session.post(register_url, data =payload, headers=headers)

data = session.get("https://register.example.com/response.php")
print(data.content)

如果不是因为上面的验证码索引.php,我可以直接发到响应.php文件。所以很明显,如果我向响应.php文件我会得到不正确的验证码错误。我已经试了两天了,所以我想我应该来这里寻求帮助。你知道吗


Tags: 文件fromimageimportcomregisterurlpil