Der Unterschied zwischen der Übergabe von String- und Array-Werten in PHP mithilfe der Post-Methode von Curl

WBOY
Freigeben: 2016-07-29 09:14:04
Original
1248 Leute haben es durchsucht

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

Die Ausführungsergebnisse sind im Screenshot unten zu sehen:
Der Unterschied zwischen der Übergabe von String- und Array-Werten in PHP mithilfe der Post-Methode von Curl

'). addClass('pre -numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

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.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage