【问题标题】:cURL issues with Google Voice "APIs" running on XAMPP/Windows 7在 XAMPP/Windows 7 上运行的 Google 语音“API”的 cURL 问题
【发布时间】:2011-05-10 13:42:59
【问题描述】:

我正在使用 aaronpk 的 Google Voice APIs 在 Google Voice 中发送和接收 SMS 消息。我已取消注释 php.ini 中的“extension=php_curl.dll”行,并确认 cURL 正在工作。我现在卡在这一点上,并且一直收到此错误:

未捕获的异常“异常”与 消息'无法解析 GALX 令牌'

我已经检查了所有基本的东西。帐户上的用户名和密码正确。我唯一能看到的是 cURL 没有写入 cookie 文件。

我知道脚本默认有一个 cookiejar / cookiefile 的 Linux 路径。我尝试将其更改为 Windows 目录,并包括完整路径。我目前使用的代码sn-p是:

$this->_cookieFile = dirname(__FILE__) . "\cookies.txt";

即使修改了此代码,脚本也不会写入 cookies.txt 文件。

我已将这些脚本上传到 Linux 主机,它们运行良好,向我证明这是 Windows 问题。遗憾的是,我们没有用于生产环境的 Linux 服务器。

我正在寻找任何指导以使其在 Windows 中运行。现在我正在运行 XAMPP 的 Windows 7 机器上开发。生产环境可能是 Windows 2008 Server。

任何帮助将不胜感激!

【问题讨论】:

    标签: php windows curl xampp google-voice


    【解决方案1】:

    Google 似乎刚刚更改了https://accounts.google.com/ServiceLogin 的输出 HTML,以破坏 aaronpk 的 API。我在 2015 年 12 月 8 日之后的某个时间观察到了这种变化。

    旧 HTML:<input name="GALX" type="hidden" value="SecureTokenHere">

    新的 HTML:<input type="hidden" name="GALX" value="SecureTokenHere">

    因此,如果您遇到 Could not parse for GALX token 错误,只需将您的 RegEx 从:/name="GALX"\s*type="hidden"\s*value="([^"]+)"/ 更新为 /type="hidden"\s*name="GALX"\s*value="([^"]+)"/,或者为了兼容性,如果旧方式找不到匹配项,请检查新方式。

    【讨论】:

    • 为 aaronpk 创建了一个PR
    【解决方案2】:

    我知道这个有点老了……但还是很高兴分享一个答案,是吗?

    更改 cookie 文件的路径很好,但这里的问题是 cURL 尝试(并且失败)验证 google 的 SSL 证书。可以在here找到两个解决方案(我在the accepted answer for this other SO question找到了那个链接)

    出于测试目的,我认为可以使用快速而肮脏的解决方案(盲目地接受所有 SSL 证书而不进行验证)。 您将以下行与其他 curl_setopt 行一起插入到 GoogleVoice 类构造函数中

    curl_setopt($this->_ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    

    对于生产代码,我会验证证书。我提供的第一个链接中介绍了查找和保存证书。假设证书与 GoogleVoice.php 位于同一目录中,您将插入以下行

    curl_setopt($this->_ch, CURLOPT_SSL_VERIFYPEER, TRUE);
    curl_setopt($this->_ch, CURLOPT_SSL_VERIFYHOST, 2);
    curl_setopt($this->_ch, CURLOPT_CAINFO, getcwd().'\BuiltinObjectToken-VerisignClass3PublicPrimaryCertificationAuthority.crt');
    

    我不是 cURL 专家,所以我不能说是否有其他方法可以验证 SSL 证书(或者为什么在 Linux 主机上不需要它。)这应该是所有需要更改的内容aaronpk 的 Google Voice API 在 XAMPP 上工作

    【讨论】:

      猜你喜欢
      • 2014-02-16
      • 2011-12-01
      • 1970-01-01
      • 2011-03-20
      • 1970-01-01
      • 2014-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多