首先发起一个get请求地址为:
http://zion.itvi/users/info.php?pwd=111111&repwd=111111&uid=977&code=8a288eaeefa2418c8f4bb23db050e922&submit=%D6%D8%D6%C3%C3%DC%C2%EB
在info.php中,接受信息,然后又发起一post请求代码是这样
<?php
header("Content-type: text/html; charset=utf-8");
include "Snoopy.class.php"; 
$pwd = $_GET["pwd"];
$uid = $_GET["uid"];
$code = $_GET["code"];
$url = "http://matrix.itvi/matrix/api/users/$uid/reset_passwd";
$postData["password"] = md5($pwd);
$postData["code"] = $code;$snoopy = new Snoopy; 
if($snoopy->submit($url,$postData)){
echo $snoopy->results;
}else{
echo $snoopy->error;
}
?>问题:在info.php中的post请求无效,没有响应。
PS:两次发起的请求都是同一服务器,zion.itvi与matrix.itvi是由同一nginx转发的,在nginx的access.log中只有get请求的记录没有post请求的记录
log记录为:237720 192.168.10.101 - - [17/May/2011:14:41:35 +0800] "GET /users/info.php?pwd=111111&repwd=111111&uid=977&code=8a288eaeefa2418c8f4bb23db050e922&submit=%D6%D8%D6%C3%C3%DC%C2%EB        HTTP/1.1" 200 31 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1"

解决方案 »

  1.   

    你用的是操作系统是linux 还是windows  nginx 是否多线程nginx 配置是什么样的呢
      

  2.   

    操作系统是linux的!,nginx的配置应该没问题我把info.php拷贝到我的电脑上(我的是apache服务器),然后在本机执行info.php是可以post成功到http://matrix.itvi的
      

  3.   

    我是说,你可能在程序上,没有post成功,按理说如果是缓存的话,get会缓存,post是不会缓存的.或者你nginx上的配置做了什么限制.
      

  4.   

    程序上应该是没有post成功,我在nginx的log中没有发现post的请求。但是我把info.php拷贝到本地测试就可以post成功
      

  5.   

    没用过snoopy。你先排除一下看看是不是snoopy使用上的问题。
    sh-3.2# curl http://zion.itvi/users/info.php?pwd=111111&repwd=111111&uid=977&code=8a288eaeefa2418c8f4bb23db050e922&submit=%D6%D8%D6%C3%C3%DC%C2%EBsh-3.2# curl http://matrix.itvi/matrix/api/users/uid/reset_passwd -d "xxx=xxx&xxx=xxx"
    看看是否两次请求都可以收到。或者用php的curl扩展试试先。
      

  6.   

    看看日志文件,POST到NGINX的时候,如果没有配置,会产生405错误的