php - 如何在 php-curl 中使用 CURLOPT_LOGIN_OPTIONS?

标签 php curl libcurl

curl 有一个 CURLOPT_LOGIN_OPTIONS参数(终端应用程序中的--login-options)。如何在 php5-curl 的 php 脚本中使用它?默认情况下,它没有 CURLOPT_LOGIN_OPTIONS 并使用像curl_setopt($ch, 12345, "auth=PLAIN");这样的代码不改变会导致curl行为改变。 我不会在我的代码中使用 exec 。谢谢。

最佳答案

在 PHP 中,如果您想登录某个服务器,您可以使用简单的设置:

curl_setopt($cURL, CURLOPT_USERPWD, "用户名:密码");

这是我如何使用它的一个示例:

$cURL = curl_init();
curl_setopt($cURL, CURLOPT_URL, "imaps://server.com");
curl_setopt($cURL, CURLOPT_POST, 1);
curl_setopt($cURL, CURLOPT_POSTFIELDS,
        "postvar1=value1&postvar2=value2&postvar3=value3");
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
curl_setopt($cURL, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($cURL, CURLOPT_CONNECTTIMEOUT, 3);
curl_setopt($cURL, CURLOPT_TIMEOUT, 2);
curl_setopt($cURL, CURLOPT_USERPWD, "USERNAME:PASSWORD");
curl_setopt($cURL, CURLOPT_HTTPHEADER, array("auth=PLAIN"));
$output=curl_exec($cURL);
curl_close($cURL);

CURLOPT_USERPWD 允许您登录您的服务器或应用程序(如果您进行了这样的设置)。

如果您需要代理,还有另一种方法:

curl_setopt($cURL, CURLOPT_PROXYUSERPWD, "用户名:密码");

但您还需要其他选项:

curl_setopt($cURL, CURLOPT_PROXY, '127.0.0.1'); // IP
curl_setopt($cURL, CURLOPT_PROXYPORT, '23'); // PORT
curl_setopt($cURL, CURLOPT_PROXYUSERPWD, "USERNAME:PASSWORD"); // Login

希望这能有所帮助。

关于php - 如何在 php-curl 中使用 CURLOPT_LOGIN_OPTIONS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37187484/

相关文章:

php - 如何最好地处理需要很长时间才能完成的 ajax 请求?

php - 使用 Curl PHP 获取最终重定向

xml - vb.net 中的 REST 调用 : how to pass the key "file" that works in cURL

c++ - cURL:处理多个异步请求

curl - 如何使用 CURLINFO_*_TIME 值估算 cURL 请求的代理连接时间?

php - 按顺序从 woocommerce 接收页面更改文本

php - 使用 cakephp 的无效响应 paypal IPN

php - mysqli_fetch_assoc()需要参数/调用成员函数bind_param()错误。如何获取并修复实际的mysql错误?

php - curl: 没有指定 URL

c - 在一个主循环中显示状态并执行下载