2014-12-28 22 views
0

我有一個小問題。我的代碼:curl json將'sect'替換爲區段登錄網址

<?php 
$url = "http://xxxx/duplicate"; 

$data = array (
userId       =>  xxxx, // authentication userId 
loginToken      =>  'xxxx', // authentication loginToken 
"id"       =>  "123456", 
'section'      =>  'LotRental', 

); 
$data_string = http_build_query($data); 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 

$result = curl_exec($ch); 
curl_close($ch); 
print_r ($result); 
echo json_encode($data_string); 
?> 

,但它創造這個帖子:

userId=xxxx&loginToken=xxxx&id=123456§ion=LotRental 

它改變 「一節」 到 「§ion」

要求768,16樣子:

userId=xxxx&loginToken=xxxx&id=123456&section=LotRental 

如何要解決這個問題? 感謝

更新:

我可以通過兩種方式複製我的項目:該捲曲以上,或只是在瀏覽器

鍵入URL,當我執行我的PHP腳本,我從serwer得到錯誤:

HTTP ERROR: 405 

METHOD_NOT_ALLOWED 
RequestURI=xxxx/duplicate.dispatch 

但是,當我在瀏覽器中鍵入

http://xxxx/duplicate?userId=xxxx&loginToken=xxxx&id=123456&section=LotRental 

它工作正常

+0

你如何檢查POST請求? –

回答

0

腳本本身是可以的。到它的輸出。它看起來像在瀏覽器中查看此腳本的輸出。然後,您必須在將輸出發送到瀏覽器之前對輸出進行正確的HTML編碼,而您似乎對其進行了JSON編碼。因此,而不是:

echo json_encode($data_string); 

你可以使用:

echo htmlentities($data_string); 
+0

我編輯了我的第一篇文章 – luk89

+0

您的瀏覽器示例顯示您需要HTTP GET而不是POST。 –

+0

你是對的!謝謝 – luk89