curl 命令上传文件到表单
curl command to upload file to form
我正在尝试构建一个 curl 命令,它将我的 xpi 上传到 Mozilla Add-on Validator 进行验证。
我已经用 fiddler 捕获了流量,以查看站点在做什么并尝试从 curl 模仿它的行为。
我已经看到了 post url,并尝试了 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 不允许的页面。
我错过了什么?我还应该在请求中添加什么以获得良好的响应?
谢谢
没有解决 curl 上传命令问题,但解决了原始问题 - 通过命令行验证 xpi。
通过命令行验证 xpi[=15=]
这可以通过 Mozilla 的 addons-linter 实现,提出这个问题时它还处于早期阶段。
我正在尝试构建一个 curl 命令,它将我的 xpi 上传到 Mozilla Add-on Validator 进行验证。
我已经用 fiddler 捕获了流量,以查看站点在做什么并尝试从 curl 模仿它的行为。
我已经看到了 post url,并尝试了 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 不允许的页面。
我错过了什么?我还应该在请求中添加什么以获得良好的响应?
谢谢
没有解决 curl 上传命令问题,但解决了原始问题 - 通过命令行验证 xpi。
通过命令行验证 xpi[=15=]
这可以通过 Mozilla 的 addons-linter 实现,提出这个问题时它还处于早期阶段。