Spero che questa sia una cosa relativamente semplice da fare e che le mie competenze di Google mi abbiano semplicemente fallito in questa occasione. Ho una risorsa protetta con autenticazione BASIC che voglio che PHP esegua una richiesta HTTP POST contro.Invia FORM Richiesta POST da PHP utilizzando l'autenticazione di base HTTP
ho cercato di iniettare autenticazione: di base (dati crittografati u/p) nelle intestazioni che non sembrano funzionare - così mi chiedo, possono i poteri di Greyskull intendo StackOverflow fornire alcuna guida.
$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);
}
hai provato (o hai accesso) a usare arricciatura per questo? – bumperbox
Buon punto, qualcosa che avrei dovuto dire. Sto cercando di minimizzare (se non negare) il requisito per le modifiche a php.ini. Ho già dovuto attivare l'estensione OpenSSL per fare SSL..questo è un dolore, e CURL può essere un'opzione, ma preferirei esplorare tutte le vie senza prima CURL. –