2014-12-13 27 views
2

,我請求一個URL,並使用curl.but我發現此網址的內容,有些結果值不一樣的原始地址PHP捲曲的請求得到錯誤的值

畝捲曲代碼

$url="https://example.com/getDataV1P2.php?action=checkUpdates&lastmodified=2014-12-12%2014:08:09&userid=16"; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_URL,$url); 
$result=curl_exec($ch); 

var_dump($result); 
curl_close($ch); 

當我與原來的URL使用curl然後

結果表明「SDL博客文章」要求:「1」

,但是當我從瀏覽器的URL原始地址命中則結果顯示「SDL博客文章」:‘0’

我無法理解爲什麼

我也在這裏嘗試這種

$agent= 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)'; 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_URL,$url); 
curl_setopt($ch, CURLOPT_USERAGENT, $agent); 
$result=curl_exec($ch); 
curl_close($ch); 
+1

看看瀏覽器中的請求標題和你的curl調用之間有什麼區別,並用curl僞造它們... – 2014-12-13 07:49:40

+0

是啊,Glavic說什麼,假的一些頭特別是用戶代理,接受和語言。 – Jasen 2014-12-13 07:56:02

+0

請查看我的更新問題@Glavić – KGolou4299 2014-12-13 08:05:10

回答

0

問題不在於你有錯誤的標題,但是根據你輸入的結果是不同的。

如果調用此網址:

http://danoah.com/getDataV1P2.php?action=checkUpdates&lastmodified=2014-12-12+12%3A00%3A00 

反應將是"SDL Blog Posts" : "1",但如果你increate小時的一個:

http://danoah.com/getDataV1P2.php?action=checkUpdates&lastmodified=2014-12-12+13%3A00%3A00 

反應會"SDL Blog Posts" : "0"

而請urlencode您在url中的值,因爲值2014-12-12%2014:08:09被錯誤地編碼,它應該是2014-12-12+14%3A08%3A09