suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Bitte lösen Sie das TP-Framework-Cache-Problem

59ddd7337bac2.png


Das Bild oben ist mein Code ... Greifen Sie auf die URL-Schnittstellenverbindung einer Website in tp zu ... Die Daten sind jedes Mal anders, wenn diese Verbindung im Browser geöffnet wird In tp werden jedes Mal dieselben Daten aktualisiert, und die neuen Daten werden von Zeit zu Zeit aktualisiert. Es sollte ein Caching-Problem von tp sein. Ich weiß nicht, was ich tun soll. Lösung ... Ich möchte hier um Hilfe bitten ... (Ich habe versucht, nach dem Link einen Zufallszahlenparameter hinzuzufügen ... (&t=rand(1,999999)) Ich möchte, dass tp das denkt Jeder Besuch ist anders. Der Link funktioniert nicht...),

Dies ist der Hilfebeitrag von der offiziellen Website: http://www.thinkphp.cn/topic/52220.html


活泼星辰活泼星辰2601 Tage vor1455

Antworte allen(2)Ich werde antworten

  • 活泼星辰

    活泼星辰2017-10-16 15:48:36

    public function index()
    	{
    		
    		$url = 'http://www.kuaishou.com/rest/photos?pcursor=1';
    		$ks_data = $this->get_curl($url);
    		dump(json_decode($ks_data));
    	}
    
    	private function get_curl($url, $post = 0, $referer = 0, $cookie = 0, $header = 0, $ua = 0, $nobaody = 0)
    	{
    		$ch = curl_init();
    		curl_setopt($ch, CURLOPT_URL, $url);
    		curl_setopt($ch, CURLOPT_TIMEOUT, 60);
    		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    		$klsf[] = "Accept:*";
    		$klsf[] = "Accept-Encoding:gzip,deflate,sdch";
    		$klsf[] = "Accept-Language:zh-CN,zh;q=0.8";
    		curl_setopt($ch, CURLOPT_HTTPHEADER, $klsf);
    		if ($post) {
    			curl_setopt($ch, CURLOPT_POST, 1);
    			curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
    		}
    		if ($header) {
    			curl_setopt($ch, CURLOPT_HEADER, TRUE);
    		}
    		if ($cookie) {
    			curl_setopt($ch, CURLOPT_COOKIE, $cookie);
    		}
    		if ($referer) {
    			if ($referer == 1) {
    				curl_setopt($ch, CURLOPT_REFERER, "http://m.qzone.com/infocenter?g_f=");
    			} else {
    				curl_setopt($ch, CURLOPT_REFERER, $referer);
    			}
    		}
    		if ($ua) {
    			curl_setopt($ch, CURLOPT_USERAGENT, $ua);
    		} else {
    			curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Linux; U; Android 4.0.4; es-mx; HTC_One_X Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0');
    		}
    		if ($nobaody) {
    			curl_setopt($ch, CURLOPT_NOBODY, 1);
    		//curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);//跟随重定向
    		}
    		curl_setopt($ch, CURLOPT_ENCODING, "gzip");
    		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    		$ret = curl_exec($ch);
    		curl_close($ch);
    		return $ret;
    
    	}


    Antwort
    0
  • 路过

    路过2017-10-16 14:48:37

    个人认为是你的 curlopt_timeout  参数设置的时间的问题

    你代码30行 注掉试试

    Antwort
    0
  • 活泼星辰

    不行.还是一样..我把代码附上..大家可以试试看.是不是只有我的有问题

    活泼星辰 · 2017-10-16 15:47:42
  • StornierenAntwort