我非常尊重@FatihKısa的代码,非常好.我已经尝试过这个代码,但是现在它可能不起作用,因为有一些Instagram服务器端的变化.我用他的代码玩了2天,并强迫它与我的小改动一起工作.这段代码非常重要的一部分是Instagram只接受带有curl referrer的帖子表格,其中包含cookies数据(csrftoken和mid).同样重要的是,您必须使用https://www.instagram.com/accounts/login/?force_classic_login,仅使用WWW并在cookie创建后删除有关curl info的字符串:
#Netscape HTTP Cookie文件
#http://curl.haxx.se/docs/http-cookies.html
#这个文件是由libcurl生成的!编辑风险自负.
这是工作代码,享受!
$username = "yourname"; $password = "yourpass"; $useragent = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/50.0.2661.102 Chrome/50.0.2661.102 Safari/537.36"; $cookie=$username.".txt"; @unlink(dirname(__FILE__)."/".$cookie); $url="https://www.instagram.com/accounts/login/?force_classic_login"; $ch = curl_init(); $arrSetHeaders = array( "User-Agent: $useragent", 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language: en-US,en;q=0.5', 'Accept-Encoding: deflate, br', 'Connection: keep-alive', 'cache-control: max-age=0', ); curl_setopt($ch, CURLOPT_HTTPHEADER, $arrSetHeaders); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__)."/".$cookie); curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__)."/".$cookie); curl_setopt($ch, CURLOPT_USERAGENT, $useragent); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); $page = curl_exec($ch); curl_close($ch); // try to find the actual login form if (!preg_match('/