php - 带有 Web 身份验证和端口的 HTTP 请求

标签 php http curl basic-authentication

我需要对以下 URL 执行请求:

http://[用户名]:[密码]@[服务器 IP]:[端口]/some/path/to/some/file

但最终生成的 URL 被视为无效,因为它包含两次“:”字符。 有什么解决办法吗?

这是我尝试过的:

$process = curl_init('http://[SERVER_IP]:[PORT]/OpenKM/webdav/okm:personal/somefile.mp4');
curl_setopt($process, CURLOPT_HEADER, 1);
curl_setopt($process, CURLOPT_USERPWD, "[USERNAME]:[PASSWORD]");
curl_setopt($process, CURLOPT_TIMEOUT, 30);
curl_setopt($process, CURLOPT_POST, 1);
curl_setopt($process, CURLOPT_RETURNTRANSFER, TRUE);
$return = curl_exec($process);  // $return is FALSE
var_dump(curl_error($process));die();  // Here we see string(23) "Empty reply from server"

最佳答案

将 ':' 的编码值改为 %3A

我建议您使用在线广泛使用的 URL 编码器工具,在此处检查其中一个...

http://meyerweb.com/eric/tools/dencoder/

这里还有w3school提供的完整的char编码列表...

http://www.w3schools.com/tags/ref_urlencode.asp

关于php - 带有 Web 身份验证和端口的 HTTP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13120396/

相关文章:

curl - 如何从 jenkinsfile 中的 curl 获取响应代码

php - 使用 HTTP-AUTH 重定向?

php - mysql 行结果的字段名称变量

php - 在Codeigniter中获取sql查询结果并显示在网页上

php - 使用后视组还是捕获组更好?

multithreading - 戈兰 : to goroutine or not to goroutine?

php - jQuery Datepicker Beforeshowday - Ajax 返回不可用日期数组

rest - Angular2 - Http 服务 - 如何确保我始终拥有实时数据

java - 如何最大限度地减少 HTTP 请求中的大量数据?

php - Dropbox API v2 PHP 上传文件问题