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