开发者

CURL: not fetching url with unicode characters

I'm using CURL to fetch a Yahoo! BOSS api url with a unicode query, but I'm getting an "bad request" error.

http://boss.yahooapis.com/ysearch/web/v1/கமல்ஹாசன்?appid={appid}&format=xml

The above url works fine and returns results in firefox.

Please could anybody help me to fix this.

$url = "http://bo开发者_JAVA技巧ss.yahooapis.com/ysearch/web/v1/கமல்ஹாசன்?appid={appid}&format=xml";

$ch - curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$data = curl_exec($ch);

curl_close($ch);


you must urlencode your URL. follow the below codes:

$url = "http://yoursite.com/some-unicode-chars"

$path = parse_url($url, PHP_URL_PATH);

if ($path) {
    $segments = explode('/', $path);
    foreach($segments as $index => $segment) {
        $segments[$index] = urlencode($segment);
    }

    $url = str_replace($path, implode('/', $segments), $url);
}

// then use url in your curl command:
$handle = curl_init($url);
// ...


Take that கமல்ஹாசன் word and use Mysql_realescape string in PHP.

Regards, ARCHIT.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜