我正在尝试从 PHP(Zend Framework)代码连接到 aspx Web 服务。我需要通过帖子向页面发送一些参数(电子邮件、密码)。我试过使用 Zend_Http_Client,并这样做:
$client = new Zend_Http_Client('https://thesiteurl.asmx/Login');
$client->setMethod(Zend_Http_Client::POST);
$client->setAuth($username, $password);
$client->setParameterPost(array('email' => 'email', 'password' => 'password'));
$response = $client->request();
$this->view->response = $response;
其中 $username, $password
是我用来登录网络服务的用户名和密码(它有一个弹出窗口要求我输入用户名和密码)。
此代码为我提供了未经授权的页面。所以我问我在哪里使用了错误的网站用户名和密码?我该如何使用它们?
编辑: Auth 是 auth-basic。
编辑2:
我和 Web 服务的所有者谈过,他说所有内容都是 UTF-8,这是个问题吗,这不是默认设置吗?如果不是,我该怎么做?
最佳答案
您可以检查是否需要 referer-header,或者它可能还需要一个跨站请求伪造号码。只需转储登录时浏览器发出的请求和转储脚本生成的请求,比较它们,它应该会成功。
对于浏览器请求转储,您可以使用 firefox 的 livehttpheaders 插件。
关于php - Zend HTTP 客户端密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5343521/