#44456 [Opn->Fbk]: CURLOPT_URL error in parsing ftp url string given

From: Date: Wed, 19 Mar 2008 00:09:19 +0000
Subject: #44456 [Opn->Fbk]: CURLOPT_URL error in parsing ftp url string given
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-123446@lists.php.net to get a copy of this message
ID: 44456 Updated by: felipe@php.net Reported By: sergiocrz at hotmail dot com -Status: Open +Status: Feedback Bug Type: cURL related Operating System: WinXP PHP Version: 5.2.5 New Comment: This seems expected. Normally app. accepts the format obtained for: http://docs.php.net/manual/en/function.rawurlencode.php Try using this function on login and password. Previous Comments: ------------------------------------------------------------------------ [2008-03-17 16:27:31] sergiocrz at hotmail dot com Description: ------------ When an ftp username or password uses the character "#" and when I try to use it in curl_setopt($ch, CURLOPT_URL, "ftp://$ftp_user_name:$ftp_pass@$ftp_ip:$ftp_port$path"); cURL will not login with the correct user/pass combination nor the correct IP. Reproduce code: --------------- // using ex: ftp://%e$U^&:!@#$5%@123.145.123.145:456 $ftp_user_name = "%e$U^&" ; $ftp_pass = "!@#$5%" ; $ftp_ip = "123.145.123.145"; $ftp_port = 456; $path = "/"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "ftp://$ftp_user_name:$ftp_pass@$ftp_ip:$ftp_port$path"); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 4); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FTPLISTONLY, 0); $result['filelist'] = curl_exec($ch); // content $result['error'] = curl_error($ch); $result['errno'] = curl_errno($ch); Expected result: ---------------- Loggin in with the correct $ftp_user_name = "%e$U^&" ; $ftp_pass = "!@#$5%" ; $ftp_ip = "123.145.123.145"; $ftp_port = 456; Actual result: -------------- cURL will connect to the IP: #$5%@123.145.123.145 as dysplayed by the error. As you can see the part before the ip "#$5%" belongs to the ftp_pass, so I think when curl is parsing the url string and encounters "#" (char(35)) it returns the wrong ip. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=44456&edit=1

« previous php.bugs (#123446) next »