phpcurl數組
『壹』 php curl 得到的數組被轉成字元串 怎麼轉回數組
數組轉成json結構
$arr = array();
$json = json_encode($arr); // json字元串
$arr = json_decode($json,TRUE); // 恢復數組
『貳』 php 中 怎麼讓curl_exec 以數組形式返回
可以將他返回的內容賦值給一個
變數
。只需再
前面
加上,curl_setopt($ch,CUROPT_RETURNTRANSFER,1);就可以將返回結果賦值給變數了。比如,$r=curl_exec($ch);這時返回的結果全部包含再$r中,想
什麼時候
輸出什麼時候輸出,如果不準備要他的結果,那麼就將前面的1換成0
『叄』 php 通過curl獲取遠程數據,返回的是一個數組型的字元串,高手幫忙如何將這個數組類型的字元串變成數組。
foreach($arr as $key=>$val){
foreach($val as $k=>$v){
echo $v['kd_status'].'....';
}
}
『肆』 php使用curl的post方法字元串和數組傳值的區別
區別的話在PHP手冊的curl_setopt函數中,關於CURLOPT_POSTFIELDS有如下描述:
全部數據使用HTTP協議中的"POST"操作來發送。
要發送文件,在文件名前面加上@前綴並使用完整路徑。(5.5+ 建議用CURLFile)
這個參數可以通過urlencoded後的字元串類似'para1=val1¶2=val2&...'
或使用一個以欄位名為鍵值,欄位數據為值的數組。
如果value是一個數組,Content-Type頭將會被設置成multipart/form-data。
因此,這兩種傳值方式是有所區別的。
當然,可以通過CURLOPT_HTTPHEADER指定Content-Type。可能我講的不是很清楚很詳細。你可以去後盾人平台去看看視頻教學的,裡面的視頻教學講的很清楚很詳細。
『伍』 php關於curl請求回來的數據轉化數組後該索引有值卻取不出來求各路大神解決
可以先看看PHP中的 curl_exec函數的說明
(PHP 4 >= 4.0.2, PHP 5)
curl_exec — 執行一個cURL會話
說明
mixed curl_exec ( resource $ch )
執行給定的cURL會話。
這個函數應該在初始化一個cURL會話並且全部的選項都被設置後被調用。
參數
ch
由 curl_init() 返回的 cURL 句柄。
返回值
成功時返回 TRUE, 或者在失敗時返回 FALSE。 然而,如果 CURLOPT_RETURNTRANSFER選項被設置,函數執行成功時會返回執行的結果,失敗時返回 FALSE 。
我前兩天剛好用到過的兩種情況
//從返回結果中獲取指定的值$res=curl_exec($ch);$pa = '%<ul class="ul1"><li>本站主數據:(.*?)</li>%si';preg_match($pa,$res,$r);return $r[1];
//第二種 的返回結果是以json形式。$res=json_decode(curl_exec($ch),true);print_r($res);
『陸』 php+curl獲取的表單源碼,以字元串轉換為數組
function sendcheck($url,$code)
{
global $logger;
$ch = curl_init();
if(!$ch)return -1; //設置適當的參數
curl_setopt($ch, CURLOPT_URL , $url);//連接
if(!curl_setopt($ch, CURLOPT_HEADER, 0)) return -2; //發送,設置curl_exec執行結果返回,成功返回獲得內容,否則false
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); //返回值為空
if(!curl_setopt($ch,CURLOPT_TIMEOUT ,30))return -3; //執行curl操作最大時間為 10 s
if(!curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,30))return -4 ; //curl對外連接大時間為 10 s
$result = curl_exec($ch); //訪問資源;
//伺服器無響應或者網路連接錯誤處理,重新發送請求信息,最多10次,每次 10 s 間隔
for($i =0 ; $i <= 9; $i++ ){
if(!$result){ //上一次未得到數據
$result = curl_exec($ch); //下一次的數據發送;
}else{
$logger->info("已成功通知");
break;
}
}
if(!$result){
$logger->info("通知失敗");
}
curl_close($ch); //關閉curl資源
}
『柒』 請問PHP代碼通過CURL讀取到API jason格式的內容,怎麼樣讀取特定數組中的內容保存到自己的資料庫中呢
$json='{"a":1,"b":2,"c":3,"d":4,"e":5}';
$json=json_decode($json);
$a=$json->{'b'};
echo$a;//輸出結果為1
把json數據拷貝出來放到文本里傳上來。或者你自己轉換成數組進行操作json_decode($json,true)
$json='{"a":1,"b":2,"c":3,"d":4,"e":5}';
$json=json_decode($json,true);
echo$json["b"];//輸出結果為1
『捌』 php 使用curl函數並附帶參數傳遞,接收返回的數據並保存在變數中
$Data=array('user'=>'xiaoming');
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,'http://www.a.com/index');
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$Data);
$a=curl_exec($ch);
curl_close($ch);
print_r($a);
『玖』 php 中curl_exec如何返回數組
返回json,轉換成array就可以了。
『拾』 php curl中CURLOPT_HTTPHEADER 這個參數的含義
php curl中CURLOPT_HTTPHEADER 這個參數的含義是:CURLOPT_HTTPHEADER 一個用來設置HTTP頭欄位的數組。Content-Type 表示後面的文檔屬於什麼MIME類型。charset表示瀏覽器可接受的字元集。
HTTP頭Servlet默認為text/plain,但通常需要顯式地指定為text/html。由於經常要設置Content-Type,因此HttpServletResponse提供了一個專用的方法setContentType。
HTTP請求頭的部分類型:
1、Accept:瀏覽器可接受的MIME類型。
2、Accept-Charset:瀏覽器可接受的字元集。
3、Accept-Encoding:瀏覽器能夠進行解碼的數據編碼方式,比如gzip。Servlet能夠向支持gzip的瀏覽器返回經gzip編碼的HTML頁面。許多情形下這可以減少5到10倍的下載時間。
4、Connection:表示是否需要持久連接。如果Servlet看到這里的值為「Keep-Alive」,或者看到請求使用的是HTTP 1.1(HTTP 1.1默認進行持久連接),它就可以利用持久連接的優點,當頁麵包含多個元素時(例如Applet,圖片),顯著地減少下載所需要的時間。
5、Content-Length:表示請求消息正文的長度。
6、Cookie:這是最重要的請求頭信息之一。
(10)phpcurl數組擴展閱讀:
PHP中的CURL函數庫(部分):
1、curl_setopt_array — 為cURL傳輸會話批量設置選項
2、curl_setopt — 設置一個cURL傳輸選項
3、curl_close — 關閉一個cURL會話
4、curl__handle — 復制一個cURL句柄和它的所有選項
5、curl_errno — 返回最後一次的錯誤號
6、curl_error — 返回一個保護當前會話最近一次錯誤的字元串
7、curl_escape — 使用 URL 編碼給定的字元串
在實際的使用當中,使用得最多的函數是curl_setopt — 設置一個cURL傳輸選項說明:bool curl_setopt ( resource $ch , int $option , mixed $value )其中,ch 由 curl_init() 返回的 cURL 句柄。option 表示的是需要設置的CURLOPT_XXX選項。
option的可選參數:
1、CURLOPT_BUFFERSIZE 每次獲取的數據中讀入緩存的大小,但是不保證這個值每次都會被填滿。在cURL 7.10中被加入。
2、CURLOPT_CLOSEPOLICY 不是CURLCLOSEPOLICY_LEAST_RECENTLY_USED就是CURLCLOSEPOLICY_OLDEST,還存在另外三個CURLCLOSEPOLICY_,但是cURL暫時還不支持。
3、CURLOPT_CONNECTTIMEOUT 在發起連接前等待的時間,如果設置為0,則無限等待。