如何解决用户名中带有@的CURL
| 我试图通过FTP用CURL上传文件。但是我的用户名有问题,在我的主机中,所有FTP用户名均为user@site.com,因此在尝试上传时出现以下错误: 卷曲错误:无法解析主机\'site.com:password@site.com \' 这是代码: $ftpuser = \'uploader@mysite.com\';
$ftppass = \"blablabla\";
$ftppath = \"mysite.com/\";
$ftpurl = \"ftp://\".$ftpuser.\":\".$ftppass.\"@\".$ftppath;
有人可以告诉我如何传递用户名来解决问题。
解决方法
两件事情:
通过使用
urlencode
转换非安全字符,您应该能够解决@
问题。
我相信,最好将CURLOPT_USERPWD
选项与curl_setopt
一起使用来设置用户名和密码对。
所以:
<?php
$ftpuser = urlencode(\'uploader@mysite.com\');
$ftppass = urlencode(\'blablabla\');
$ftppath = \'mysite.com/\';
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,\'ftp://\' . $ftppath);
curl_setopt($ch,CURLOPT_USERPWD,$ftpuser . \':\' . $ftppass);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
$result = curl_exec();
,您是否可以分别给curl用户名和密码(而不是全部作为URL的一部分),以帮助它更正确地理解数据。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。