1
A
回答
2
您可以使用cUrl檢索提要,然後使用simplexml_load_string函數從包含內容的字符串中創建DOM。使用curl,你可以設置你這樣想的用戶代理:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1");
$content = curl_exec($ch);
curl_close ($ch);
$dom = simplexml_load_string($content);
,你可以得到一個很好的例子,一個完整的代碼在這裏:http://www.php.net/manual/en/ref.curl.php#93163
0
您可以使用CURLOPT_USERAGENT
參數與cURL這樣做。
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/rss.xml");
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent); //$user_agent would contain your agent.
$xml = curl_exec($ch); //xml stored in the variable $xml
curl_close($ch);
?>
1
PHP有user_agent
設置,可以設置(在臨時方式)使用:
ini_set('user_agent', 'user_agent_goes_here');
這也是在你php.ini
(如果你從這裏改變它,這將是永久性的)
實施例:
//Setting the user agent as Firefox 9.0
ini_set('user_agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0) Gecko/20100101 Firefox/9.0');
$xml = file_get_contents($rssfeed);
$simplexml = simplexml_load_string($xml);
0
總之?您發送一個用戶代理標題。
長的答案是,您將需要使用PHP的方法之一通過HTTP(可能捲曲)來獲取內容的方法來發起連接,發送預期的頭文件並將您嘗試訪問的XML文件作爲字符串。完成此操作後,使用您選擇的XML解析器解析檢索到的數據。
例如,爲了獲得捲曲僞裝成IE 6:
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/6.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0)');
相關問題
- 1. xml使用php處理(simplexml?)
- 2. SimpleXML數據處理
- 3. Chromecast用戶代理
- 4. CURL用戶代理
- 5. HtmlWeb用戶代理
- 6. android用戶代理
- 7. IE11用戶代理
- 8. URL用戶代理?
- 9. Java用戶代理
- 10. WebView用戶代理
- 11. LWP ::用戶代理和代理錯誤
- 12. 更改用戶代理在python代理
- 13. Android,webview用戶代理vs瀏覽器用戶代理
- 14. 用戶IP和用戶代理
- 15. SimpleXML的錯誤處理
- 16. SimpleXML的錯誤處理PHP
- 17. 使用SimpleXML處理命名空間
- 18. 用SimpleXML
- 19. 用SimpleXML
- 20. 用SimpleXML
- 21. 更改iPhone用戶代理?
- 22. 更改Phonegap用戶代理
- 23. OpenNMS HttpMonitor用戶代理
- 24. Android移動用戶代理?
- 25. 什麼是用戶代理?
- 26. 模擬用戶代理
- 27. Google App Engine用戶代理
- 28. 用戶代理解析器
- 29. DART用戶代理檢測
- 30. Urlretrieve和用戶代理? - Python
如果我用這個,是改變永久的嗎? – David19801
如果你在'php.ini'中改變它,它將是永久的,否則,不會。從手冊:「'ini_set()'設置給定配置選項的值。配置選項將在腳本執行過程中保留這個新值,並在腳本結尾恢復。」 – Nasreddine
有趣的發現,現在怎麼樣提出一個實際會使用它的請求?我試過這是行不通的。 – Mob