0

API 文档明确指出 wp.newPost 返回新的帖子 id,但大约 40% 的时间我们得到的响应为 false,但 HTTP 响应代码为 100。无论哪种方式,帖子都会成功发布到 Wordpress .

$ch = curl_init();
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
curl_setopt($ch, CURLOPT_URL, $this->getXMLRPCURL());
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 1);

// Encode htaccess credentials if they're set
$htaccess_credentials = $this->getHtaccessCredentials();
if ($htaccess_credentials) {
  curl_setopt($ch, CURLOPT_USERPWD, $htaccess_credentials->toString());
}

$results = curl_exec($ch); // <<-- RETURNS FALSE HERE.
$http_status = curl_getinfo($ch, CURLINFO_HTTP_CODE); // Returns 100
curl_close($ch);
return $results;

我很高兴发布一个示例 $request 字符串,但那部分似乎工作正常。我只是想知道是否有人以前遇到过这种情况?它似乎已经遇到过这里,但几乎没有解决方案。

4

1 回答 1

0

嘘。暂停。呃。有人将 CURL 超时设置为 1。尽管如此,有时即使没有设置超时,我们仍然没有收到完整的响应——很可能是默认的套接字超时。尽管如此,我们有一个(有点重的)解决方法。

祝你今天过得愉快。

于 2013-06-26T23:49:59.660 回答