php - 获取:cURL 错误 #:操作在 30000 毫秒后超时,POST 请求收到 0 个字节(PHP)
问题描述
我正在尝试向此 url 发出 POST 请求:https://www.googleapis.com/admin/directory/v1/customer/***/orgunits
以创建新的组织单位。
这是发出 cURL 请求的代码:
function exeCurl($url,$method,$body="") {
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 40,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => $method,
CURLOPT_HTTPHEADER => array(
// "Accept: */*",
// "Accept-Encoding: gzip, deflate",
"Authorization: Bearer ". $_COOKIE["LOStoken"],
// "Cache-Control: no-cache",
"Content-Type: application/json",
//"Connection: keep-alive",
"Content-Length: ". strlen($body),
// "Host: www.googleapis.com",
// "cache-control: no-cache"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
}
我玩过启用/禁用几个标题但没有成功。这是对 exeCurl 的调用:
function createOU($createOUname, $parentOUpath, $description) {
echo $createOUname;
echo $parentOUpath;
echo $description;
$body = array(
"name" => $createOUname,
"description" => $description,
"parentOrgUnitPath" => $parentOUpath
);
$ou = new \Google\OU();
echo $ou->exeCurl("https://www.googleapis.com/admin/directory/v1/customer/***/orgunits","POST",json_encode($body));
}
(其中 *** 是我的客户 ID)
它获取 Html 输入字段的值。
我无法弄清楚为什么它不起作用。我也尝试将 timout 设置为 0。我尝试向 Postman 发出具有相同值的 POST 请求,并且它在那里工作。
解决方案
推荐阅读
- r - Reddit 抓取错误 HTTP 状态为“403 Forbidden”
- python - 在 python Pandas 中将对象转换为时间
- node.js - 这个包已被弃用,现在它只导出 makeExecutableSchema
- function - Kivy 多个切换按钮都在一个函数中读取
- javascript - 如何提交我的文本框值以转到 React js 中的链接?
- java - 如何在 Firebase Firestore 中获取随机文档
- c - 调试 vscode 的问题以及对 C 中引用调用的一些误解
- javascript - 在保留方法的同时将深度嵌套的类对象转换为普通对象?
- python - 如何检查自上次循环以来是否已经过了足够的时间?
- angular - 为什么 Angular 布局不能正常工作?