首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解析[function.fopen]所需的用户名和密码:无法打开流: HTTP请求失败

问解析[function.fopen]所需的用户名和密码:无法打开流: HTTP请求失败
EN

Stack Overflow用户
提问于 2014-05-09 05:03:02
回答 1查看 1.4K关注 0票数 1

当我使用PHP文件系统函数fopen通过以下方式从远程服务器读取文件时:

代码语言:javascript
复制
<?php $filetoread = fopen ('https://www.abc.com/directory/file.php', 'r')  ?>

我得到了错误

代码语言:javascript
复制
 [function.fopen]: failed to open stream: HTTP request failed! HTTP/1.1 401 Unauthorized.....

在阅读了几篇像这篇https://stackoverflow.com/a/3335437和PHP手册http://www.php.net/manual/en/function.fopen.php这样的文章后,我开始了解它的解析,但由于信息不足,我无法正确地完成解析。

例如,在以下解决方案中

http://user:password@www.domain.com/somefile.php,应该添加什么和如何添加用户名和/或密码?这些是ftp服务器的用户名和密码吗?在这种情况下,解决方案是否也适用于https://,或者fsockopen()比fopen更好?

EN

回答 1

Stack Overflow用户

发布于 2014-05-09 16:20:28

PHP手册建议在这种情况下使用ftp包装器,而不是http://或https://,而且大多数情况下,这些包装器被主机禁用。

因此,

$filetoread变量应该指向ftp地址,而不是http或https,如下代码所示。

代码语言:javascript
复制
$filetoread = fopen("ftp://user:password@www.abc.com/directory/file.php", "r");

因此,

用户名和密码应为ftp address的用户名和密码

从此以后,

演示可以如下所示:

代码语言:javascript
复制
$filetoread = fopen("ftp://your ftp username here : your ftp password here@www.abc.com/directory/file.php", "r");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23552496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档