当登录到网站时,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”);