当我尝试使用curl通过php访问已发布演示文稿时,会出现问题。普通文件可以通过卷曲而不是演示文稿访问。我正在寻找或者使这种检索文档工作的方法或找到一种替代方法。谷歌支持没有答案给我,并建议堆栈溢出。使用curl和php检索Google文档演示文稿时遇到问题
起初,试图访问通过卷曲介绍给了我这个错误:
Secure Connection Failed
An error occurred during a connection to develop.willf-rtb-dev.switchsoft.com.
SSL received a record that exceeded the maximum permissible length.
(Error code: ssl_error_rx_record_too_long)
我对我的开发增加了一个虚拟主机为我的测试域启用SSL。这个虚拟主机下列行开始:
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
加入这个虚拟主机后,试图通过卷曲重定向我到此页面访问演示:
https://support.google.com/accounts/bin/answer.py?hl=en&answer=32050(告诉我清除了我的饼干,由于有问题我的cookie设置)
我有我的卷曲代码也写了一个cookie文件 - 试图通过curl访问演示文稿后,此文件的内容如下所示。清除文件的内容并不好,也不会告诉curl不要写入这个文件。
# Netscape HTTP Cookie File
# http://curl.haxx.se/rfc/cookie_spec.html
# This file was generated by libcurl! Edit at your own risk.
#HttpOnly_.google.com TRUE / FALSE 1380146248 NID 67=q47Xyj4FU2_uuYosZzvr_50-o2q9qD0PG8avG3oTg0s2qlmjzGFqT0UhWpwLOEt9TWqP1jf77npfX9OBebQ8fqn6ID7b4b-jBoFbyEbCFkrQhcBIKekLS1fQI-mLw3Pg
我的PHP卷曲的代码如下所示:
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSLVERSION,3);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,3);
$cookieFile = TMP_DIRECTORY . '/curlcookies.txt';
if (!file_exists($cookieFile)) {
file_put_contents($cookieFile, '');
}
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookieFile);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookieFile);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (X11; Linux x86_64; rv:19.0) Gecko/20100101 Firefox/19.0 FirePHP/0.4");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
$result = curl_exec($ch);
curl_close($ch);
return $result;
我曾尝试使用URL的这种风格下载演示文稿的HTML:
这需要我登录,当我签署时,它给了我这个错误:
Sorry, the file you have requested does not exist.
Please check the address and try again.
使用exportFormat = pdf时,我不会得到这个错误 - 只要我登录但它不是我所需要的。
我还没有尝试还没有使用它,但我发现一些PHP代码在这里,这可能是值得探讨:
https://developers.google.com/drive/manage-downloads
任何提示或帮助任何一个可以给我在这个问题上会大大赞赏。
问候
威尔·费雷尔
任何想法?任何人?非常感谢。 – 2013-04-08 23:45:20