Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why could Curl be slower than a web browser?

I am using this class to make one GET and another POST request to a website (the first request is to set a cookie). I am testing in a Win XP virtual machine with virtualbox, using wamp from wampserver dot com. The 2 requests takes from 10 to 18 seconds (with curl), but if I make those request directly via the webbrowser in that same virtual machine the website loads in just a few seconds, and it retrieves all the images, css, etc.

What could be causing curl to work so slow? is there a way to fix it?

like image 353
jarkam Avatar asked Sep 08 '10 16:09

jarkam


2 Answers

I faced the same issue, using the curl command.

as suggested above - forcing ipv4 only dns lookup fixed it.

curl -4 $url # nice and fast

(I already had ::1 localhost in my hosts file - but that didn't help).

like image 170
Tarun Avatar answered Sep 29 '22 09:09

Tarun


Curl is probably trying to Reverse DNS the server and, as it cant, it just hangs there a little waiting for the timeout.

If the timeout is given by IPV6 you can try CURL_IPRESOLVE_V4 to bypass it altogether. It really depends on your machine configuration and is more a question to Server Fault.

like image 24
Frankie Avatar answered Sep 29 '22 11:09

Frankie