我希望这是一个相对直接的事情,并且我的谷歌技能在这个场合简直失败了。我有一个BASIC身份验证受保护资源,我希望PHP执行POST HTTP请求。使用HTTP基本认证从PHP发出FORM POST请求
我已经试过注射身份验证:基本的(加密U/P数据)成似乎没有工作的头 - 所以我不知道,可以Greyskull的我的意思是StackOverflow上的权力提供任何指导。
$req .= "&cmd=_initiate_query";
$header = "POST /someendpoint HTTP/1.1\r\n".
"Host:example.com\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"User-Agent: PHP-Code\r\n".
"Content-Length: " . strlen($req) . "\r\n".
"Connection: close\r\n\r\n";
$fp = fsockopen ('ssl://example.com', 443, $errno, $errstr, 30);
if (!$fp) {
// HTTP ERROR
} else {
fputs ($fp, $header . $req);
while (!feof($fp)) {
$result .= fgets ($fp, 128);
}
fclose ($fp);
}
您是否尝试过(或有权访问)为此使用卷曲? – bumperbox 2009-07-29 08:30:30
好点,我应该说。我试图最小化(如果不是否定的话)修改php.ini的要求。 我已经必须激活OpenSSL扩展才能完成SSL ......这很痛苦,CURL可能是一种选择,但我宁愿先不用CURL来探索所有途径。 – 2009-07-29 08:36:04