如何在php中启用--post 302 curl选项

时间:2011-03-18 03:39:02

标签: php curl google-api

我正在尝试使用其API将一些atom + xml数据发布到Google日历。 我有一些问题,因为当把POST请求放到谷歌服务器上时,我为我请求的同一个网址加上一个gsessionid参数重新获得302;没问题,我添加了CURLOPT_FOLLOWLOCATION选项tu TRUE(就像cli -L选项一样)。 但实际上请求变成了GET,并带有以下消息:

Violate RFC 2616/10.3.3 and switch from POST to GET

现在,在linux curl cli中,我可以设置--post302参数,指示curl不要出现这种行为,并且发送POST没有问题;

我在PHP中没有找到任何类似的选项....任何关于如何解决它的想法?

感谢

1 个答案:

答案 0 :(得分:2)

使用curl_setopt($r_curl, CURLOPT_POSTREDIR, 2),如http://bugs.php.net/49571所述。可能在curl C API中使用的常量CURL_REDIR_POST_301 / CURL_REDIR_POST_302 mentioned here似乎在PHP中不可用。