Php 登录到另一台服务器

Php 登录到另一台服务器,php,curl,Php,Curl,有什么问题吗。。。我不能登录 执行此脚本后,如果我转到,它应该登录。如何执行此操作?您应该将CURLOPT\u RETURNTRANSFER设置为true。您的$result可能是空的 此外,在设置CURLOPT_REFERER时,您显然使用了错误的变量。($ch) 编辑: 似乎缺少以下行: $cookie="cookie.txt"; $data = array(); $data['global_id'] = "raj"; $data['global_password'] = "raj";

有什么问题吗。。。我不能登录


执行此脚本后,如果我转到,它应该登录。如何执行此操作?

您应该将
CURLOPT\u RETURNTRANSFER
设置为
true
。您的$result可能是空的

此外,在设置
CURLOPT_REFERER
时,您显然使用了错误的变量。($ch)

编辑:

似乎缺少以下行:

$cookie="cookie.txt"; 
$data = array();
$data['global_id'] = "raj";
$data['global_password'] = "raj";

foreach ($data as $key => $value){
    $post_items[] = $key . '=' . $value;
}

//create the final string to be posted using implode()
$post_string = implode ('&', $post_items);


$curl_connection = curl_init('http://somedomain.com/cgi-bin/login.pl');
curl_setopt($curl_connection, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($curl_connection, CURLOPT_USERAGENT,"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($curl_connection, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl_connection, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl_connection, CURLOPT_REFERER, 'http://somedomain.com/cgi-bin/login.pl');
curl_setopt($curl_connection, CURLOPT_POSTFIELDS, $post_string);
curl_setopt($curl_connection, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($curl_connection, CURL_COOKIEFILE, '');
$result = curl_exec($curl_connection);

if($result == "success"){
    header("Location: http://somedomain.com/cgi-bin/index.pl");
}
else{
    echo "Login failed";
}

//close the connection
curl_close($curl_connection);
试试这个:

curl_setopt($curl_connection, CURLOPT_POST, true);
否则,您应该了解服务器的
SSL
配置。这可能是个问题

您还可以将
POST
vars设置为数组:

curl_setopt($ch, CURLOPT_SSLVERSION, 3); // OpenSSL issue
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);  // Wildcard certificate
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
更新:您正试图通过
HTTP
使用
SSL

curl_setopt($ch, CURLOPT_POSTFIELDS, array('param1' => 'value1', 'param2' => 'value2'));

尝试将
URL
更正为
HTTPS

尝试修复您的URL代码,如下所示:

$curl_connection = curl_init('http://somedomain.com/cgi-bin/login.pl');

希望有人投了反对票。。请告诉我原因?这是客户端要求:)我认为ssl选项不是问题所在。。。没有HTTPS连接没有HTTPS连接:-(您如何知道没有
HTTPS
连接?您使用的是
curl\u getinfo()
还是smth.else?
curl_setopt($curl_connection, CURLOPT_POST, true);
curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_connection, CURL_COOKIEFILE, $cookie);
curl_setopt($curl_connection, CURL_VERBOSE, true);