我真的尝试过自己解决这个问题,但我是 pyhon 的新手,所以我无法做到这一点。我一直在尝试为我使用的网站制作一个机器人,并且我正在尝试使用请求库来做到这一点。到目前为止,我的目标非常简单:登录并回复主题。
我已经能够通过网络表单登录,但在通过提交表单回复线程时遇到一些问题。
起初我的代码看起来像这样:
payload = {
'post': 'Send'
'message': message
}
response = self.session.post(reply_url, data=payload)
其中“发送”是提交按钮的名称。请求实际上已提交,但遇到错误。所以我寻找隐藏字段,然后找到了它们:
<input type="hidden" name="topic_cur_post_id" value="75855" />
<input type="hidden" name="creation_time" value="1472760834" />
<input type="hidden" name="lastclick" value="1472761028" />
<input type="hidden" name="form_token" value="0ba9f5b8e091367fa38ad8db68424a1adb62d299" />
所以基本上我现在首先通过 GET 请求收集所有这些信息,我的代码现在如下所示:
payload = {
'post': 'Send'
'message': message,
'form_token': form_token,
'topic_cur_post_id': topic_cur_post_id,
'lastclick': lastclick,
'creation_time': creation_time
}
response = self.session.post(reply_url, data=payload)
现在我没有遇到任何错误,并且我被重定向,就像我的回复已提交一样。事情是——事实不是。我仔细检查了我的有效负载是否可靠,确实如此。
奇怪的是......如果我接下来尝试执行完全相同的代码,只是删除了“lastclick”,它实际上会通过!但仅限于几次尝试。然后我必须将“lastclicks”添加回有效负载,执行代码,然后将其删除,然后它才能工作。
这对我来说真是令人头疼。如果有人有一些线索或想法,我很高兴听到。
提前致谢!