Javascript Python随请求提交标记

Javascript Python随请求提交标记,javascript,python,html,tags,python-requests,Javascript,Python,Html,Tags,Python Requests,所以,我需要为我上传的视频设置标签,但我无法让它工作。 这是标签表单: 这是我到目前为止的代码: payload = { 'keywords': 'tag1 tag2 tag3', 'APC_UPLOAD_PROGRESS': apc, 'message' : '', } files = {'upload_file' : (open("D:\\CPA\\videos\\watermarked\\test.avi", 'rb'))} url =

所以,我需要为我上传的视频设置标签,但我无法让它工作。 这是标签表单:


这是我到目前为止的代码:

payload = {
      'keywords': 'tag1 tag2 tag3',
      'APC_UPLOAD_PROGRESS': apc,
      'message' : '',
  }
  files = {'upload_file' : (open("D:\\CPA\\videos\\watermarked\\test.avi", 'rb'))}
  url = 'http://upload.site.com/account/uploads/submit?video_type=other'
  r = s.post(url,data = payload,files = files,headers = headers)
我尝试了很多不同的方法,将标签格式化为一个列表,中间有空格,中间没有空格,我尝试将字符串编码为json,网站仍然会返回一条消息,说明标签需要提交。 有人知道我做错了什么吗

还有一件事,在浏览器中检查http头/请求时,我注意到每当我键入标记时,我都会收到来自站点的GET请求,如下所示:

GET/account/title\u blacklist/?title=tag1%20tag2
(这可能有用吗?

有各种各样的潜在原因,但这里没有足够的信息来确定原因。以下是几个潜在的原因:

  • 最有可能的是,
    checkTags()
    Javascript函数正在对标记执行某种验证。根据您显示的GET请求判断,它正在对服务器执行一些AJAX操作,并且可能正在寻找黑名单标签。或者,它可能只是将它们发送到服务器,以“验证”它们的格式(不太可能)。为了测试这一点,我将尝试处理一些对该URL的GET请求,在GET参数中放置不同的标记。通过查看结果,您可能会更好地了解允许发送哪些标签。您还可以尝试使用浏览器的开发人员工具(如)查看发送到此表单的POST数据
  • 也有可能表单中有某种令牌。服务器在发送表单时会生成这样一个令牌,并且在随后的短时间内有效。它与表单数据一起发送回服务器。服务器将在收到表单时检查令牌的有效性。它的存在是为了防止其他人(尤其是恶意网站)向其表单提交表单数据。可能是出于安全原因,服务器在响应中不会提到CSRF令牌,而是说标记是错误的原因
所有这些可能性都可以通过检查网页在开发者工具中发送的请求来检查,还可以检查
的整个源代码,而不仅仅是特定的
。希望这有帮助

我解决了这个问题。 表单实际上应该用“标签”来调用,而不是用它的名字。
这有点奇怪,但现在已经解决了。

中的
code
是什么语言?好的-看到了
javascript
标记,很好奇特定的表单可能会调用javascript,这就是我添加该标记的原因。感谢您的回复。不幸的是,我只有在使用实时HTTP头和Firebug监视浏览器时才能看到GET请求。我看不到发送到浏览器的POST请求。我可以在Chrome的开发者工具(Ctrl-Shift-I)的“网络”选项卡中看到POST请求。你甚至可以按请求类型排序,你可以在那里看到请求头和请求体。哇,我真的解决了。我在Chrome的开发者工具中看到了帖子标题,我看到表单实际上应该被命名为“标签”,而不是关键词。很简单,我觉得自己像个白痴。非常感谢。干得好!我很高兴你能找到问题!