【问题标题】:curl command to upload file to formcurl命令将文件上传到表单
【发布时间】:2016-05-04 11:23:18
【问题描述】:

我正在尝试构建一个 curl 命令,该命令会将我的 xpi 上传到 Mozilla Add-on Validator 进行验证。

我已经用 fiddler 捕获了流量,以查看网站在做什么,并尝试从 curl 中模仿它的行为。

我已经看到了帖子的网址,并尝试了curl https://addons.mozilla.org/en-US/developers/standalone-upload --form 'upload=@path-to-xpi.xpi'csrfmiddlewaretoken=@path-to-xpi.xpi。并且还尝试添加Content-Type

这是来自第一个请求的原始数据:

POST https://addons.mozilla.org/en-US/developers/standalone-upload HTTP/1.1 Host: addons.mozilla.org Connection: keep-alive Content-Length: 41021 Origin: https://addons.mozilla.org User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36 Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryI0LeCjkeJnsfGipU Accept: */* Referer: https://addons.mozilla.org/en-US/developers/addon/validate Accept-Encoding: gzip, deflate Accept-Language: en-US,en;q=0.8,he;q=0.6 Cookie: _ga=GA1.2.710702590.1450107779; sessionid=".eJyrVkouLkqLL8nPTs1TslLKznAOTYzI8czOTEzxCTe0SCzKichONjMO8PUO9Q5wcVfSUYpPLC3JiC8tTi2Kz0xRsjI0MrCwNDE3QZFISkwGmgeUVQJxi_Wg_GI9x9z8UKCIE1QeqKk4tbg4Mz8vPrWiILOoEmyepZmBQS0Aqsk0IA:1aLYVj:cbZQtNCkFRasDdFtJKI9b_WB6GA" ------WebKitFormBoundaryI0LeCjkeJnsfGipU Content-Disposition: form-data; name="csrfmiddlewaretoken" khCUaXlIkiadLW18arlXkc63PMKUKPDG ------WebKitFormBoundaryI0LeCjkeJnsfGipU Content-Disposition: form-data; name="upload"; filename="extension.xpi" Content-Type: application/octet-stream

目前我收到一个不允许的 html 页面。

我错过了什么?我还应该在请求中添加什么以获得良好的响应?

谢谢

【问题讨论】:

  • 那里有一些cookies,例如可能会保持登录状态。您的 curl 命令可能需要在第一次调用中获取这些 cookie,然后进行上传。
  • 你是对的,谢谢!我会检查一下,当我有时间的时候
  • 可能很重要的 cookie 是 sessionid,因为另一个 cookie 用于谷歌分析跟踪。

标签: firefox curl xpi


【解决方案1】:

没有解决 curl 上传命令的问题,而是原始问题 - 通过命令行验证 xpi。

通过命令行验证 xpi

这可以通过 Mozilla 的 addons-linter 来实现,当这个问题被问到时,它还处于早期阶段。

【讨论】:

    猜你喜欢
    • 2018-10-21
    • 1970-01-01
    • 2017-07-14
    • 1970-01-01
    • 2016-03-31
    • 1970-01-01
    • 2014-08-24
    • 2012-07-20
    • 1970-01-01
    相关资源
    最近更新 更多