【发布时间】:2014-11-06 03:29:14
【问题描述】:
我目前正在 Mechanical Turk 中针对外部问题执行以下操作:
<form name="mturk" method="post" action="https://workersandbox.mturk.com/mturk/externalSubmit">
Name: <input type="text" name="name"><br>
Text: <input type="text" name="text"><br>
<input type="hidden" name="assignmentId" value="3AZHRG4CU4K686LQ1BGIRZZETDV03F">
<input type="submit" name="form-submission" value="Elephant">
</form>
如果我提交该表单,它会起作用。
但是,我不想执行上述操作,而是将 POST 发送到我的网络服务器,进行所有验证,然后将 POST 发送到 Mechanical Turk。比如:
import requests
url='https://workersandbox.mturk.com/mturk/externalSubmit'
data={'name': 'david', 'text': 'mark', 'assignmentId': '3AZHRG4CU4K686LQ1BGIRZZETDV03F'}
r=requests.post(url, data=data)
r.text
提交此 HIT 的结果时出现问题。
\n\n\t此 HIT 仍分配给您。要再次尝试此 HIT,请单击导航栏中的“分配给您的 HIT”,然后单击该 HIT 的“继续处理此 HIT”。如果此问题仍然存在,您可以使用上面的“联系”链接联系此 HIT 的请求者。
\n\n\t要返回此 HIT 并继续处理其他 HIT,请单击“返回 HIT " 按钮。
\n为什么当我使用请求执行POST 时会发生这种情况?我该怎么做?
【问题讨论】:
-
这个问题你解决了吗?由于涉及到 cookie,因此伪造标题似乎不起作用。是否可以通过 javascript 向 2 个域提交 1 个表单?
标签: python amazon-web-services python-requests mechanicalturk