|
|
|
ดึงข้อมูลที่ได้จาก curl มาแสดงทีละค่า ใช้คำสั่งอะไร |
|
|
|
|
|
|
|
ค่าที่ได้จาก curl จะใชคำสั่งอะไร แสดงข้อมูลออกมา ทีละค่า ครับ เช่นค่าที่ได้ ..ตามด้านล่างครับ
Code
{"orderDetailsResponses":{"deviceEligibility":{"coverageDuration":"2","deviceDateOfPurchase":"13\/12\/15","deviceId":"DN123456789","partDescription":"TEST DATE","partNumber":"A12345678","pocType":"APOC","productDescription":"TEST 3G","productStatement":"Test Product.","purchaseMode":"C","registeredDevice":"1","secondaryDisplay":"0","secondarySerialNumber":"","serialNumber":"SN123456789"}},"transactionId":"9c539041-708a-4397-a480-1ca8c464017a-1449997236323"}
Tag : PHP, Ms SQL Server 2008, JavaScript, Ajax, jQuery, Windows
|
|
|
|
|
|
Date :
2015-12-13 16:08:30 |
By :
slingxer1156 |
View :
3253 |
Reply :
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$js_array=json_decode($result_curl, true);
print_r($js_array);
|
|
|
|
|
Date :
2015-12-13 19:07:13 |
By :
NewbiePHP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช้คำสั่ง print_r($js_array); ค่าที่ได้ออกมาก็ เหมือนด้านบนเลยครับ ออกมาแบบนี้เลย
Code
{"orderDetailsResponses":{"deviceEligibility":{"coverageDuration":"2","deviceDateOfPurchase":"13\/12\/15","deviceId":"DN123456789","partDescription":"TEST DATE","partNumber":"A12345678","pocType":"APOC","productDescription":"TEST 3G","productStatement":"Test Product.","purchaseMode":"C","registeredDevice":"1","secondaryDisplay":"0","secondarySerialNumber":"","serialNumber":"SN123456789"}},"transactionId":"9c539041-708a-4397-a480-1ca8c464017a-1449997236323"}
|
|
|
|
|
Date :
2015-12-13 20:25:32 |
By :
slingxer1156 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
echo '<pre>',print_r($js_array, true),'</pre>';
echo $js_array['orderDetailsResponses']['deviceEligibility']['coverageDuration'];
|
|
|
|
|
Date :
2015-12-13 20:29:27 |
By :
NewbiePHP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ค่าออกมาเหมือนเดิมเลยครับ
Code (PHP)
echo $js_array['orderDetailsResponses']['deviceEligibility']['coverageDuration'];
บรรทัดนี้ ไม่มีค่าอะไรออกมาเลยครับ
|
ประวัติการแก้ไข 2015-12-13 20:37:17
|
|
|
|
Date :
2015-12-13 20:36:16 |
By :
slingxer1156 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอาโค๊ดที่ทำมาดูหน่อยครับ
อันนี้ที่ผมลอง
Code (PHP)
<?php
$result_curl='{"orderDetailsResponses":{"deviceEligibility":{"coverageDuration":"2","deviceDateOfPurchase":"13\/12\/15","deviceId":"DN123456789","partDescription":"TEST DATE","partNumber":"A12345678","pocType":"APOC","productDescription":"TEST 3G","productStatement":"Test Product.","purchaseMode":"C","registeredDevice":"1","secondaryDisplay":"0","secondarySerialNumber":"","serialNumber":"SN123456789"}},"transactionId":"9c539041-708a-4397-a480-1ca8c464017a-1449997236323"}';
$js_array=json_decode($result_curl, true);
echo '<pre>',print_r($js_array, true),'</pre>';
นี่คือผลลัพธ์ที่ได้
|
|
|
|
|
Date :
2015-12-13 20:49:52 |
By :
NewbiePHP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
$request = "shipTo=0000617657&timeZone=-420&langCode=en&appleCareSalesDate=13/12/15&pocLanguage=ENG&pocDeliveryPreference=E&purchaseOrderNumber=15731&MRC=Y&marketID=&overridePocFlag=&emailFlag=0&customerFirstName=thee ei tini&customerLastName=Iwin&companyName=&[email protected]&addressLine1=&addressLine2=&city=&stateCode=&countryCode=&primaryPhoneNumber=&zipCode=&deviceId=DLXP2213DFJ3&secondarySerialNumber=&hardwareDateOfPurchase=13/12/15";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://domain_test/curl.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
$js_array=json_decode($result, true);
echo '<pre>',print_r($js_array, true),'</pre>';
echo $js_array['orderDetailsResponses']['deviceEligibility']['coverageDuration'];
?>
|
ประวัติการแก้ไข 2015-12-13 21:03:05
|
|
|
|
Date :
2015-12-13 20:59:26 |
By :
slingxer1156 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มันก็ถูกแล้วแต่ทำไมค่าถึงไม่เหมือนกัน งงครับ คงต้องรอท่านอื่นมา ช่วยล่ะครับ
ปล. เอาบันทัดนี้ออกก่อน
header("Content-Type: application/json; charset=UTF-8");
|
ประวัติการแก้ไข 2015-12-13 21:41:54
|
|
|
|
Date :
2015-12-13 21:15:17 |
By :
NewbiePHP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สเต็บการทำงานนะครับ
เครื่อง A ส่งพารามิเตอร์ ผ่าน curl มาที่เครื่อง B พอเครื่อง B รับค่าแล้วก็ส่ง พารามิเตอร์ที่ได้ ไปยังเครื่อง C และเอาค่ารีเทิร์นที่ได้จาก เครื่อง C echo ค่าออกมา ประมาณนี้ครับ ที่ต้องทำแบบนี้เพราะ เครื่อง A เป็น php เวอร์ชั่นเก่า ไม่รองรับ ฟังก์ชั่น curl ที่ต้องแทรก ssl เข้าไปด้วย ก็เลยต้องส่ง ผ่านเครื่องกลาง ก็คือ เครื่อง B ครับ
ใช้คำสั่ง var_dump ค่าออกมา ที่เครื่อง B ค่าเป็น อาเรย์ (ปกติ) แต่ พอ มาที่เครื่อง A ค่ามันเป็น string ครับ
โค๊ด เครื่อง A
Code (PHP)
$request = "shipTo=0000617657&timeZone=-420&langCode=en&appleCareSalesDate=13/12/15&pocLanguage=ENG&pocDeliveryPreference=E&purchaseOrderNumber=15731&MRC=Y&marketID=&overridePocFlag=&emailFlag=0&customerFirstName=thee ei tini&customerLastName=Iwin&companyName=&[email protected]&addressLine1=&addressLine2=&city=&stateCode=&countryCode=&primaryPhoneNumber=&zipCode=&deviceId=DLXP2213DFJ3&secondarySerialNumber=&hardwareDateOfPurchase=13/12/15";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://10.16.96.52:8557/curl.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
echo $result;
โค๊ดเครื่อง B ครับ
Code (PHP)
$shipTo = @$_REQUEST['shipTo'];
$timeZone = @$_REQUEST['timeZone'];
$langCode = @$_REQUEST['langCode'];
$appleCareSalesDate = @$_REQUEST['appleCareSalesDate'];
$pocLanguage = @$_REQUEST['pocLanguage'];
$pocDeliveryPreference = @$_REQUEST['pocDeliveryPreference'];
$purchaseOrderNumber = @$_REQUEST['purchaseOrderNumber'];
$MRC = @$_REQUEST['MRC'];
$marketID = @$_REQUEST['marketID'];
$overridePocFlag = @$_REQUEST['overridePocFlag'];
$emailFlag = @$_REQUEST['emailFlag'];
$customerFirstName = @$_REQUEST['customerFirstName'];
$customerLastName = @$_REQUEST['customerLastName'];
$companyName = @$_REQUEST['companyName'];
$customerEmailId = @$_REQUEST['customerEmailId'];
$addressLine1 = @$_REQUEST['addressLine1'];
$addressLine2 = @$_REQUEST['addressLine2'];
$city = @$_REQUEST['city'];
$stateCode = @$_REQUEST['stateCode'];
$countryCode = @$_REQUEST['countryCode'];
$primaryPhoneNumber = @$_REQUEST['primaryPhoneNumber'];
$zipCode = @$_REQUEST['zipCode'];
$deviceId = @$_REQUEST['deviceId'];
$secondarySerialNumber = @$_REQUEST['secondarySerialNumber'];
$hardwareDateOfPurchase = @$_REQUEST['hardwareDateOfPurchase'];
$jsonStr = '{';
$jsonStr .= '"requestContext": {';
$jsonStr .= '"shipTo": "'.$shipTo.'",';
$jsonStr .= '"timeZone": "'.$timeZone.'",';
$jsonStr .= '"langCode": "'.$langCode.'"';
$jsonStr .= '},';
$jsonStr .= '"appleCareSalesDate": "'.$appleCareSalesDate.'",';
$jsonStr .= '"pocLanguage": "'.$pocLanguage.'",';
$jsonStr .= '"pocDeliveryPreference": "'.$pocDeliveryPreference.'",';
$jsonStr .= '"purchaseOrderNumber": "'.$purchaseOrderNumber.'",';
$jsonStr .= '"MRC": "'.$MRC.'",';
$jsonStr .= '"marketID": "'.$marketID.'",';
$jsonStr .= '"overridePocFlag": "'.$overridePocFlag.'",';
$jsonStr .= '"emailFlag": "'.$emailFlag.'",';
$jsonStr .= '"customerRequest": {';
$jsonStr .= '"customerFirstName": "'.$customerFirstName.'",';
$jsonStr .= '"customerLastName": "'.$customerLastName.'",';
$jsonStr .= '"companyName": "'.$companyName.'",';
$jsonStr .= '"customerEmailId": "'.$customerEmailId.'",';
$jsonStr .= '"addressLine1": "'.$addressLine1.'",';
$jsonStr .= '"addressLine2": "'.$addressLine2.'",';
$jsonStr .= '"city": "'.$city.'",';
$jsonStr .= '"stateCode": "'.$stateCode.'",';
$jsonStr .= '"countryCode": "'.$countryCode.'",';
$jsonStr .= '"primaryPhoneNumber": "'.$primaryPhoneNumber.'",';
$jsonStr .= '"zipCode": "'.$zipCode.'"';
$jsonStr .= '},';
$jsonStr .= '"deviceRequest": [';
$jsonStr .= '{';
$jsonStr .= '"deviceId": "'.$deviceId.'",';
$jsonStr .= '"secondarySerialNumber": "'.$secondarySerialNumber.'",';
$jsonStr .= '"hardwareDateOfPurchase": "'.$hardwareDateOfPurchase.'"';
$jsonStr .= '}';
$jsonStr .= ']';
$jsonStr .= '}';
//echo $jsonStr.'<hr>';
$url = 'https://api-applecareconnect-test/';
$ch = curl_init();
curl_setopt($ch,CURLOPT_HTTPHEADER,array(
'Content-Type: application/json; charset=utf-8',
'Content-Length: ' . strlen($jsonStr)
));
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS,$jsonStr);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSLCERT, 'Certificate/GRX-0000Test.AppleCare.chain.pem');
curl_setopt($ch, CURLOPT_SSLKEY, 'Certificate/privatekey.pem');
curl_setopt($ch, CURLOPT_SSLKEYPASSWD, 'TEST1234');
$result = curl_exec($ch);
curl_close($ch);
echo $result;
|
|
|
|
|
Date :
2015-12-14 16:19:42 |
By :
slingxer1156 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
หรือ ถ้าท่านใด มีแนวคิดที่แนะนำ รบกวนด้วยครับ ขอบคุณมากครับ
|
|
|
|
|
Date :
2015-12-14 16:20:51 |
By :
slingxer1156 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|