【发布时间】:2020-02-10 09:26:00
【问题描述】:
尝试使用 curl 构建图像自动上传 php 工具。与其他像文本一样的上传,没有问题。但是当谈到图像上传部分时 - 我被卡住了。在 SO 上查看了其他类似的问题,但找不到任何有用的东西。
使用 Firefox 开发工具,我发现发送的标头是:
Host: www.xxxxxx.com
User-Agent: Mozilla/5.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://www.xxxxxx.com
Content-Type: multipart/form-data; boundary=---------------------------54682012365
Content-Length: 13645
Origin: https://www.xxxxxx.com
DNT: 1
Connection: keep-alive
Cookie: PHPSESSID=xxxxx;
TE: Trailers
和正文请求:
-----------------------------54682012365
Content-Disposition: form-data; name="file"; filename="test.jpg"
Content-Type: image/jpeg
--->THERE GOES SOMETHING I BELIEVE TO BE IMAGETOTEXT(random symbols with few readable parts)<---
-----------------------------54682012365
Content-Disposition: form-data; name="ImId"
0
-----------------------------54682012365--
尝试使用 CURL 重现请求
如上所示发送标头。 正文请求:
$img = file_get_contents('test.jpg');
$body_message =
'---------------------------54682012365
Content-Disposition: form-data; name="file"; filename="test.jpg"
Content-Type: image/jpeg
'.$img.'
---------------------------54682012365
Content-Disposition: form-data; name="ImId"
0
---------------------------54682012365--';
卷曲选项:
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => 1,
CURLINFO_HEADER_OUT => true,
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => $body_message
但总是得到自定义 JSON 错误 'No images selected';
用$body_message尝试了各种修改,用Curlfile尝试了一点,但仍然没有成功。
有什么想法吗?
【问题讨论】:
标签: php curl file-upload