import requests
url = 'http://www.example.com/Login/'
list = [{"LoginID": 'abcc', "Password": 'a123456'}, {"LoginID": 'hijj', "Password": 'b123456'}, {"LoginID": 'xyzz', "Password": 'c123456'}]
for data in list:
response = requests.post(url,data=data)
if '登录成功' in response:
break
print(response.request.body)
print(response.text)
print(response.status_code)
登录成功,怎么让遍历停下来,哪里有问题,我想让他第二个参数登录成功就停止请求
【以下回答由 GPT 生成】
问题出在判断是否登录成功的逻辑上。requests.post()
返回的是一个Response
对象,而不是一个字符串。所以你无法直接通过在response
中查找字符串'登录成功'
来判断是否登录成功。需要对response
进行适当的处理才能得到需要的信息。
以下是一种可能的解决方案:
import requests
url = 'http://www.example.com/Login/'
data_list = [{'LoginID': 'abcc', 'Password': 'a123456'},
{'LoginID': 'hijj', 'Password': 'b123456'},
{'LoginID': 'xyzz', 'Password': 'c123456'}]
for data in data_list:
response = requests.post(url, data=data)
if '登录成功' in response.text:
break
print(response.request.body)
print(response.text)
print(response.status_code)
解决方案中的关键是使用response.text
来获取服务器返回的内容,然后再在其中查找是否包含字符串'登录成功'
。如果包含,则停止遍历。
【相关推荐】
import requests
url = 'http://www.example.com/Login/'
list = [{"LoginID": 'abcc', "Password": 'a123456'}, {"LoginID": 'hijj', "Password": 'b123456'}, {"LoginID": 'xyzz', "Password": 'c123456'}]
for data in list:
response = requests.post(url,data=data)
if '登录成功' in response:
break
print(response.request.body)
print(response.text)
print(response.status_code)
缩进错了