PHP uses curl to imitate the way to publish the dynamic in Renren

Source: Internet
Author: User
Tags curl

When it comes to imitating logins in PHP, many people think of the first time Curl function series, this is true This example is also used curl imitate login after the dynamic release, the principle is simple we just crawl Renren login information, and then by the Curl Post login data up on it.

The specific code is as follows:

The

code is as follows: $rconfig = Pdo_fetch ("SELECT * from". TableName ("Edutwo_renren"). " WHERE Weid =: Weid ", Array (': Weid ' =>$_w[' Weid '));

$cookie _file = dirname (__file__). " /renren.cookie ";
$login _url = ' http://passport.renren.com/PLogin.do ';
$post _fields[' email '] = $rconfig [' Rusername '];
$post _fields[' password '] = $rconfig [' Rpassword '];
$post _fields[' origurl '] = ' http%3a%2f%2fhome.renren.com%2fhome.do ';
$post _fields[' domain '] = ' renren.com ';

$ch = curl_init ($login _url);
curl_setopt ($ch, Curlopt_useragent, ' mozilla/5.0 (Windows; U Windows NT 5.1; ZH-CN; rv:1.9.1.5) gecko/20091102 firefox/3.5.5 ');
curl_setopt ($ch, Curlopt_header, 0);
curl_setopt ($ch, Curlopt_returntransfer, 1);
curl_setopt ($ch, Curlopt_maxredirs, 1);
curl_setopt ($ch, curlopt_followlocation, 1);
curl_setopt ($ch, Curlopt_autoreferer, 1);
curl_setopt ($ch, Curlopt_post, 1);
curl_setopt ($ch, Curlopt_postfields, $post _fields);
curl_setopt ($ch, Curlopt_cookiejar, $cookie _file);
$content = curl_exec ($ch);
$info = Curl_getinfo ($ch);
Curl_close ($ch);
//var_dump ($info); exit;
//Match User ID
$send _url= ' http://www.renren.com/home ';
$ch = Curl_init ($send _url);
curl_setopt ($ch, Curlopt_header, 0);
curl_setopt ($ch, Curlopt_returntransfer, 1);
curl_setopt ($ch, Curlopt_cookiefile, $cookie _file);
Curl_exec ($ch);
$info = Curl_getinfo ($ch);
Curl_close ($ch);

//$uid = "305115027";
//Get token and RTK
$send _url= $info [' Redirect_url '];
$ch = Curl_init ($send _url);
curl_setopt ($ch, Curlopt_ HEADER, 0);
curl_setopt ($ch, Curlopt_returntransfer, 1);
curl_setopt ($ch, Curlopt_cookiefile, $cookie _file);
$tmp = curl_exec ($ch);
Curl_close ($ch);
Preg_match_all (/get_check: ' (. *?) ', Get_check_x: ' (. *?) ',/is ', $tmp, $arr);
Preg_match_all ("/' Ruid ': ' (. *?) ',/is", $tmp, $utmp);
//var_dump ($utmp); exit;
$token = $arr [1][0];//1121558104
$RTK = $arr [2][0];//e9a9cb2
$uid = $utmp [1][0];
//echo $token; exit;
Publish Information
$poststr [' content '] = $_gpc[' content ']. $rconfig [' tail '];
$poststr [' withinfo '] = ' {' Wpath ': []} ';
$ poststr[' HostID: ' = $uid;
$poststr [' privacyparams '] = ' {' SourceControl ': 99} ';
$poststr [' requesttoken '] = $token;
$poststr [' _rtk '] = $RTK;
$poststr [' channel '] = "Renren";
$head = Array (
  ' referer:http://shell.renren.com/ajaxproxy.htm ',
  ' X-REQUESTED-WITH:XMLHTTprequest ',
);
$ch = Curl_init ("http://shell.renren.com/{$uid}/status");
curl_setopt ($ch, Curlopt_useragent, ' mozilla/5.0 (Windows; U Windows NT 5.1; ZH-CN; rv:1.9.1.5) gecko/20091102 firefox/3.5.5 ');
curl_setopt ($ch, Curlopt_httpheader, $head);
curl_setopt ($ch, Curlopt_returntransfer, 1);
curl_setopt ($ch, Curlopt_maxredirs, 1);
curl_setopt ($ch, curlopt_followlocation, 1);
curl_setopt ($ch, Curlopt_autoreferer, 1);
curl_setopt ($ch, Curlopt_post, 1);
curl_setopt ($ch, Curlopt_postfields, $POSTSTR);
curl_setopt ($ch, Curlopt_cookiefile, $cookie _file);
$content = curl_exec ($ch);
Curl_close ($ch);
//echo $content; exit;
$data = Json_decode ($content, true);
if ($data [code] = = "0") {
 echo "published successfully!" ";
}else{
 echo "shit!!!";
}

Finally published successfully, of course, the previous database needs to write a bar, very simple a record library is also the information you want to publish. Record the data to go up on it.

Related Article

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.