Heim > Artikel > Backend-Entwicklung > Der Unterschied zwischen der Übergabe von String- und Array-Werten in PHP mithilfe der Post-Methode von Curl
Kürzlich musste ich bei der Arbeit eine Java-Version der Schnittstelle von einem Drittanbieter anfordern. Nachdem ich den Code geschrieben hatte, stellte ich fest, dass dies nicht der Fall war Es wurde immer angezeigt, dass die übergebenen Parameter leer waren. Danach habe ich beschlossen, die Schnittstelle mit der String-Parametermethode anzufordern. Dies hat mich jedoch interessiert beim Studium des Unterschieds zwischen den beiden.
Der lokale Testcode lautet wie folgt:
curl.php
<code><span><span><?php </span><span><span>function</span><span>curl_post</span><span>(<span>$url</span>, <span>$data</span>)</span>{</span><span>$ch</span> = curl_init(); curl_setopt(<span>$ch</span>, CURLOPT_URL, <span>$url</span>); curl_setopt(<span>$ch</span>, CURLOPT_RETURNTRANSFER, <span>1</span>); curl_setopt(<span>$ch</span>, CURLOPT_POST, <span>1</span>); curl_setopt(<span>$ch</span>, CURLOPT_POSTFIELDS, <span>$data</span>); <span>$output</span> = curl_exec(<span>$ch</span>); curl_close(<span>$ch</span>); <span>return</span><span>$output</span>; } <span>$params</span> = <span>array</span>(); <span>$params</span>[<span>'username'</span>] = <span>'ben'</span>; <span>$params</span>[<span>'password'</span>] = <span>'lalala'</span>; print_r(curl_post(<span>'http://localhost/curl/post.php'</span>, <span>$params</span>)); <span>$params</span> = <span>array</span>(); <span>$params</span>[<span>'username'</span>] = urlencode(<span>'ben'</span>); <span>$params</span>[<span>'password'</span>] = urlencode(<span>'lalala'</span>); <span>$paramsStr</span> = <span>"username={$params['username']}&password={$params['password']}"</span>; print_r(curl_post(<span>'http://localhost/curl/post.php'</span>, <span>$paramsStr</span>)); <span>?></span></span></span></code>
post.php
<code><span><?php </span><span>echo</span><span>"-------php://input-----<br>"</span>; var_dump(@file_get_contents(<span>'php://input'</span>)); <span>echo</span><span>"-------post-----<br>"</span>; var_dump(<span>$_POST</span>); <span>echo</span><span>"-------server-----<br>"</span>; var_dump(<span>$_SERVER</span>);</span></code>
Die Ausführungsergebnisse sind im Screenshot unten zu sehen:
Urheberrechtserklärung: Bei diesem Artikel handelt es sich um einen Originalartikel des Bloggers. Bitte geben Sie beim Nachdruck die Quelle und den Namen des Autors an. Respektieren Sie andere und respektieren Sie sich selbst.
Das Obige stellt den Unterschied zwischen der Übertragung von String- und Array-Werten in PHP mithilfe der Post-Methode von Curl vor, einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.