我目前正在为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,请单击导航栏中的“HITs Assigned To You”,然后单击“继续在此HIT上工作”以获取HIT。如果此问题仍然存在,您可以使用上面的“联系”链接联系该HIT的请求者。
\ n \ n \ t要返回此HIT并继续处理其他HIT,请单击“返回HIT” “按钮。
\ n
为什么在使用POST
请求时会发生这种情况?我该怎么做?
答案 0 :(得分:2)
我认为你遇到了同样的问题described here。基本上,MTurk显然阻止了这些不以浏览器重定向形式出现的请求。如果我正确理解该线程上的AWS响应,那么您无能为力。