当登录到网站时,curl是如何工作的

当登录到网站时,curl是如何工作的,curl,Curl,下面的代码没有登录到该网站任何积极的建议:我试图登录,但它没有登录我 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,"http://www.mywholesaleroute.com/"); curl_setopt($ch, CURLOPT_COOKIEFILE,1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.

下面的代码没有登录到该网站任何积极的建议:我试图登录,但它没有登录我

$ch = curl_init();  
curl_setopt($ch, CURLOPT_URL,"http://www.mywholesaleroute.com/");  
curl_setopt($ch, CURLOPT_COOKIEFILE,1);  
curl_setopt($ch, CURLOPT_POST, 1);  
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);  
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);  
curl_setopt($ch, CURLOPT_HEADER, true);    
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120);  
curl_setopt($ch, CURLOPT_TIMEOUT, 120);  

$post_array = array(  
'pre_url'=>'jewelry/',  
'login_email'=>'developer1950@gmail.com',
'login_pswd'=>'help99123',   
);

curl_setopt($ch, CURLOPT_POSTFIELDS, $post_array); 

$output = curl_exec($ch);

curl_close($ch);

将数组传递给
CURLOPT_POSTFIELDS
时,数据被编码为
多部分/表单数据
,网站根本无法处理该数据。传入URL编码的字符串:

$fields = array();
foreach ( $post_array as $key => $value )
    $fields []= urlencode( $key ) . '=' . urlencode( $value );
$fields = implode( '&', $fields );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $fields );
这将数据编码为
application/x-www-form-urlencoded

要在HTTP“post”操作中发布的完整数据。若要发布文件,请在文件名前加@并使用完整路径。文件类型可以通过在文件名后面显式指定,类型格式为“;类型=mimetype'。此参数可以作为urlencoded字符串(如“para1=val1¶2=val2&…”)传递,也可以作为以字段名为键、字段数据为值的数组传递。如果值是数组,则内容类型标头将设置为多部分/表单数据。从PHP5.2.0开始,如果文件以@前缀传递到此选项,则该值必须是数组


我使用了这个,它工作了,感谢soulseekah curl_setopt($curl,CURLOPT_COOKIEFILE,“COOKIEFILE.txt”);curl_setopt($curl,CURLOPT_COOKIEJAR,“cookiefile.txt”);