I want to get html from a URL having some Arabic like
http://www.example.com/2013/07/31/الاختبار.html
using php. I tried with
file_get_html("http://www.example.com/2013/07/31/الاختبار.html")
but it is giving the following error
Warning: file_get_contents(http://www.example.com/2013/07/31/الاختبار.html) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 404 Not Found in filename.php
Please help.
http://www.example.com/2013/07/31/الاختبار.html
is for reference only, doesn't exist.
URLs can't contain non-ASCII characters.
Where it seems that they do, it's in fact the browser silently converting your characters into URLescaped ones in the background.
When you paste this URL into your browser:
http://www.example.com/2013/07/31/الاختبار.html
will in reality look like this:
http://www.example.com/2013/07/31/%D8%A7%D9%84%D8%A7%D8%AE%D8%AA%D8%A8%D8%A7%D8%B1.html
PHP doesn't have this ability to silently convert characters; you'll have to do it manually. To do that, run PHP's urlencode()
over the URL before making the call.