- 32
- 0
问题:模拟post的参数全部正确,但是返回的结果是错误的,登陆后的页面内容是错误的.
代码:
-- coding: utf-8 --
import requests
import random
import json
import re
from bs4 import BeautifulSoup
def main():
session = requests.session()
headers = {
'Host': 'passport.weibo.cn',
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0',
'Accept': '*/*',
'Accept-Language': 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2',
'Accept-Encoding': 'gzip, deflate, br',
'Referer': 'https://passport.weibo.cn/signin/login?entry=mweibo&res=wel&wm=3349&r=https%3A%2F%2Fm.weibo.cn%2F',
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': '265',
'Connection': 'keep-alive',
'Cookie': '_T_WM=41c35829ff5adce940a2977a2b866de1; login=9da7cd806ada2c22779667e8e1c039c2; MLOGIN=0; WEIBOCN_FROM=1110006030; M_WEIBOCN_PARAMS=uicode%3D10000011%26fid%3D102803'
}
post_data = {
'username': '',
'password': '',
'savestate': '1',
'r': 'https://m.weibo.cn/',
'ec': '0',
'pagerefer': 'https://m.weibo.cn/login?backURL=https%253A%252F%252Fm.weibo.cn%252F',
'entry': 'mweibo',
'wentry': '',
'loginfrom': '',
'client_id': '',
'code': '',
'qq': '',
'mainpageflag': '1',
'hff': '',
'hfp': ''
}
login_url = 'https://passport.weibo.cn/signin/login'
username = input('请输入用户名:\n')
password = input('请输入密码:\n')
post_data['username'] = username
post_data['password'] = password
r = session.post(login_url, data=post_data, headers=headers)
cookies=requests.utils.dict_from_cookiejar(session.cookies)
print(cookies)
print(r.content.decode('gbk'))
with open('cookies.json', 'wb') as f:
# 保存cookies到本地
f.write((json.dumps(cookies).encode("utf-8")))
# f.write(json.dumps(cookies))
print("保存成功")
if name == '__main__':
main()
这个是登陆成功或不成功状态码都是200,然后返回的内容不是登录成功的界面.cookie错误.
求各位大佬解答.或者帮忙小弟测试一下.实在整不明白了. - 共 0 条
- 全部回答
-
陽光沉溺了、向日葵心碎了 普通会员 1楼
要模拟微博APP的登录,我们可以使用Python的requests库和BeautifulSoup库来获取登录后的cookie。以下是一个简单的示例:
首先,你需要在微博的API文档中找到你需要的APIURL。假设你需要获取"access_token"和"uid"这两个cookie。
然后,你可以使用以下代码来模拟登录:
```python import requests from bs4 import BeautifulSoup
获取登录后的cookie
url = 'https://api.weibo.com/2/Account/GetAccessToken' response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser')
获取access_token和uid
access_token = soup.find('input', {'name': 'access_token'}).value uid = soup.find('input', {'name': 'uid'}).value
print('Access Token:', access_token) print('uid:', uid) ```
在这个示例中,我们首先发送一个GET请求到微博的APIURL,获取登录后的cookie。然后,我们使用BeautifulSoup来解析这个响应的HTML,找到并获取access_token和uid这两个cookie。
注意:这个示例假设你的微博APIURL是一个包含这两个cookie的URL。如果你的APIURL不包含这两个cookie,你需要在请求头中添加相应的字段,如
Authorization。此外,这个示例也假设你的微博登录表单有这两个字段。如果你的登录表单有不同的字段,你可能需要修改代码来适应你的需求。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
