如何在php curl中使用CURLOPT_LOGIN_OPTIONS


How to use CURLOPT_LOGIN_OPTIONS in php-curl?

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

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

curl_setopt($cURL, CURLOPT_USERPWD, "USERNAME:PASSWORD");

下面是我如何使用的一个例子:

$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, "USERNAME:PASSWORD");

但你也需要额外的选择:

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

我希望这能有所帮助。