Altre persone hanno già chiesto come farlo da perl, java, bash, ecc., Ma ho bisogno di farlo in PHP, e non vedo nessuna domanda già fatta riguardante specificamente (o con risposte per) PHP.Come posso effettuare una richiesta con entrambi i parametri GET e POST in PHP con cURL?
Il mio codice:
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
Questo non funziona. Il sito di destinazione ha print_r($_GET); print_r($_POST);
, quindi quando esamino lo $result
dovrei essere in grado di vedere i campi che vengono inviati. Tuttavia, l'array $ _POST è vuoto: vedo solo le variabili get. Se rimuovo la stringa di query ?...
dall'URL $, l'array POST viene popolato correttamente. Ma ora non ho i parametri GET. Come faccio a fare questo?
Nel mio caso specifico, devo inviare troppi dati per adattarlo alla stringa di query, ma non posso inviarlo tutto come POST perché il sito a cui voglio inviare sta selezionando un gestore per i dati pubblicati basato su una variabile nella stringa GET. Posso provare ad averlo cambiato, ma idealmente mi piacerebbe poter inviare sia i dati get che post nella stessa query.
http://hayageek.com/php-curl-post-get/ –
Non è possibile eseguire un POST e un GET allo stesso tempo, tuttavia è possibile aggiungere alcuni parametri di querystring all'URL, ma per aggiungere POST vars, devi fare un POST. – randomizer
@ParagTyagi Sì, questo è un tutorial di base molto bello, ma non affronta la mia domanda: come posso inviare GET e POST * allo stesso tempo *? – Benubird