溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

php curl post錯(cuò)誤問題的解決方法

發(fā)布時(shí)間:2021-03-26 09:48:31 來源:億速云 閱讀:223 作者:小新 欄目:編程語言

這篇文章主要介紹php curl post錯(cuò)誤問題的解決方法,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

php curl post錯(cuò)誤的解決辦法:首先打開出錯(cuò)的PHP代碼文件;然后將PHP代碼中的“$data”由數(shù)組變?yōu)榻?jīng)“urlencode()”函數(shù)編碼后的數(shù)據(jù)即可。

php curl post 時(shí)出現(xiàn)問題的解決方法

有如下的場(chǎng)景:

在 a.php 中以 POST 方式向 b.php 提交數(shù)據(jù),但是 b.php 下就是無法接收到數(shù)據(jù),而 CURL 操作又顯示成功,非常詭異。原來,“傳遞一個(gè)數(shù)組到CURLOPT_POSTFIELDS,cURL會(huì)把數(shù)據(jù)編碼成 multipart/form-data,而然傳遞一個(gè)URL-encoded字符串時(shí),數(shù)據(jù)會(huì)被編碼成 application/x-www-form-urlencoded。"。

對(duì) CURL 不太熟悉的人在編寫程序時(shí),代碼往往:

代碼示例:

<?php
$data = array( 'Title' => $title, 'Content' => $content, 'ComeFrom' => $comefrom );
curl_setopt($ch, CURLOPT_DNS_USE_GLOBAL_CACHE, false);
curl_setopt($ch, CURLOPT_URL, 'http://example.com/b.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_exec($ch);

將所要提交的數(shù)據(jù)以數(shù)組的形式通過 POST 發(fā)送,而這樣就會(huì)導(dǎo)致 CURL 使用“錯(cuò)誤"的編碼“multipart/form-data",其效果相當(dāng)于直接以“<form method="post" action="b.php" enctype="multipart/form-data">"這樣的表單來完成操作,大家可以試試,這時(shí)的“b.php"是無論如何也無法通過 $_POST 來接收數(shù)據(jù)的。

所以,正確的做法應(yīng)該是將上述代碼中的 $data 由數(shù)組變?yōu)榻?jīng) urlencode() 編碼后的。

以上是“php curl post錯(cuò)誤問題的解決方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI