2015-11-02 33 views
1

我試圖讓用戶代理調用使用瓶子微框架構建的API。當使用瀏覽器直接調用API時,它顯示用戶代理是什麼。但是,當它從另一個應用程序中調用,例如在PHP或JAVA中,它不顯示用戶代理。如何讓用戶代理調用一個瓶裝API

我可以然而獲取IP地址的請求是否是從瀏覽器或其他應用程序

client_ip = request.environ.get('REMOTE_ADDR') 
logging.info("Source IP Address: %s" %(client_ip)) #Works 
browser_agent = request.environ.get('HTTP_USER_AGENT') 
logging.info("Source Browser Type: %s" %(browser_agent)) #Doesn't work when called from an application 

當我把它使用的瀏覽器,或者說郵遞員,它給我的結果如下:

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.3 

那麼,是否有一個特殊的參數用於知道什麼類型的代理調用API?

回答

1

客戶不需要發送User-agent標題。您的瀏覽器正在發送一個(與大部分一樣),但您的PHP和Java客戶端(可能)不是。

如果您可以控制客戶端,請爲其創建的每個請求添加一個用戶代理標頭。例如,在PHP中,請參閱this SO answer

相關問題