首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Curl在特定端口上返回空白页

Curl在特定端口上返回空白页
EN

Stack Overflow用户
提问于 2012-12-04 10:42:26
回答 1查看 432关注 0票数 1

我正在尝试让curl输出。它是在该地址输出的基本文本字符串。

我正在做这段代码,它不工作,但如果我拿出27017并加载主域,它工作得很好:

代码语言:javascript
复制
$cookie_file_path = "cookiejar.txt"; 
$fp = fopen("$cookie_file_path","w");
fclose($fp);
$LOGINURL = "http://www.myserver.org:27017";
$agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$LOGINURL);
    curl_setopt($ch, CURLOPT_USERAGENT, $agent);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
    curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
    $result = curl_exec ($ch);
echo $result;

你知道为什么它不工作吗?任何帮助都将不胜感激。不确定是否相关,但web服务器与在27017端口上输出的应用程序运行在同一台计算机上。

更新:

代码语言:javascript
复制
$cookie_file_path = "cookiejar.txt"; 
$username = "myusername";
$password = "mypassword";
$LOGINURL = "http://www.myserver.org";
$agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$LOGINURL);
    curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
    curl_setopt($ch, CURLOPT_PORT , "27017");
    curl_setopt($ch, CURLOPT_USERAGENT, $agent);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
    curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
    $result = curl_exec ($ch);

echo $result;

更新2:

已解决。

事实证明,它需要这个特定实例的摘要身份验证。

代码语言:javascript
复制
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST);

解决了问题..。

感谢Barmar让我意识到它确实需要一个user/pass。

EN

回答 1

Stack Overflow用户

发布于 2012-12-04 11:12:51

当我点击该链接时,系统会要求我输入用户名和密码。您需要使用CURLOPT_USERPWD选项来提供以下内容:

代码语言:javascript
复制
$username = 'XXX';
$password = 'YYY';

curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");

下面是我这样做时得到的结果:

代码语言:javascript
复制
$ curl -s -D/dev/stdout 'http://www.nationalgaming.org:27017'
HTTP/1.1 401 Unauthorized
Content-Length: 0
WWW-Authenticate: Digest qop="auth", realm="www.nationalgaming.org", nonce="1354591712"

这表示该页需要登录。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13695280

复制
相关文章

相似问题

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