0
當通過url獲取json數據時,出現問題。當url路徑包含空格時,urlencode不起作用
的URL爲http://farmapi.fastway.org/v3/psc/lookup/MEL/Point%20cook/3030?LengthInCm=30&WidthInCm=30&HeightInCm=30&WeightInKg=4&api_key=MY_API_KEY
我試着用用urlencode編碼庫克角。但它不起作用。但是,當您直接將其粘貼到瀏覽器時,此url可以工作。
我用來發送URL代碼:
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_USERAGENT, 'PHP/' . phpversion());
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_HEADER, FALSE);
curl_setopt($curl, CURLOPT_TIMEOUT, 60);
$response = curl_exec($curl);
echo '<pre>post_request response' . print_r($response, true) . '</pre>';
if (curl_errno($curl)) {
$this->response = curl_error($curl);
return $this->response;
curl_close($curl);
}
curl_close($curl);
或本:
$response = wp_remote_post($url, array(
'method' => 'POST',
'timeout' => 70,
'sslverify' => 0
));
有誰可以幫我出這個問題,或者給我一些可能的解決方案?我會非常感激。
*「它不工作」* - 您應該使這部分更清晰。發生了什麼?你有什麼期望呢?你甚至會得到一些錯誤信息?是的,SPACE字符是URL中的保留字符,您需要對其進行編碼(這是瀏覽器在放入時的功能)。 – hakre 2013-03-16 12:14:33
只需點擊一個鏈接就可以在瀏覽器中工作,這意味着您不需要使用POST方法。另外,在你展示的curl代碼中,你並沒有實際執行請求。 – 2013-03-16 12:15:57
如果我沒有編碼'點廚師',錯誤消息是400個不好的請求。 但如果我沒有編碼,錯誤消息是404未找到 – leoyfm 2013-03-16 12:18:41