【发布时间】:2011-03-21 07:15:14
【问题描述】:
我对 Amazon SQS 和 Zend(1.11.2) 有一个相当令人费解的问题。我正在向我设置的队列发送一条消息,该消息如下所示:
$sqs->send($queueURL, "opt1=foo opt2=bar");
消息进入远端的应用程序并被视为:
"opt1%3Dfoo+opt2%3Dbar"
接收应用程序是使用 com.xerox.amazonws.sqs2 库以 Java 编写的,现已投入生产。
在 Drupal 下使用 Tarzan 的旧 php 模块中有类似的发送代码,它工作得很好。我到处搜索并阅读了 Zend、Amazon 和 Java 库的文档,但我被困住了。
字符串的编码是可以理解的,但我不认识正在使用的方法。进一步的测试表明,单引号、尖括号等也被转义为十六进制。
有什么想法吗?
肯
【问题讨论】:
-
更多信息。 Zend 正在对出站消息进行 urlencoding 和对入站消息进行 urldecoding。从我所看到的看来,Java Typica 库没有进行 urldecode。 Tarzan PHP 库似乎也没有进行 ulrencoding。我一定错过了互操作性如何与这些库一起工作。