我目前正在使用PHP / cURL
将文件发送到我的API。我使用Postman,结果很成功。然后,我使用Postman代码生成器来获取cURL
请求,但是当我将其放入PHP
页面时,返回
cURL错误#:操作在100000毫秒后超时并收到0字节“。
我查看了许多不同的论坛,但我没有找到任何可操作的解决方案。 (该代码已由Postman自动生成,此解决方案适用于API的其他部分,如注册,登录......)
有人可以帮我解决这个问题吗?
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_PORT => "3000",
CURLOPT_URL => "http://XXXXXXXXXX:3000/api/StorageAgent/uploadFile",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 100,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"path_ftp\"\r\n\r\n./\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"file\"; filename=\\uploads\\2.png\"\r\nContent-Type: image/png\r\n\r\n\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--",
CURLOPT_HTTPHEADER => array(
"Cache-Control: no-cache",
"Content-Type: application/x-www-form-urlencoded",
"Postman-Token: 9e868801-b05e-4161-9d94-63b52e6f7b28",
"content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW",
"x-access-token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVhN2RhNjE3N2M0Mzg5MjliYmQ0OWI4OSIsImFkbWluIjpmYWxzZSwiaWF0IjoxNTIzNDUxMzUxLCJleHAiOjE1MjM1Mzc3NTF9.jljyezECyjI0Z-RM-CttjSnYHh56rJdxzZJGh-TtwgQ"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
var_dump("nop");
} else {
echo $response;
var_dump("yep");
}
?>
答案 0 :(得分:0)
你是否尝试过这一行:CURLOPT_TIMEOUT => 100,
?我知道100秒是很多时间,但如果你尝试发送连接速度慢的大文件,它可能会超时。
答案 1 :(得分:0)
请删除任何由邮递员代码生成器生成的内容长度参数,邮递员令牌,cookie参数,因为它是针对您通过Potsman发出的请求而特定的。这样做可以使您的输入内容可以作为自己的特定请求。
删除
"Postman-Token: 9e868801-b05e-4161-9d94-63b52e6f7b28",