簡體   English   中英

如何獲取用戶代理字符串並將其插入API URL以進行呼叫

[英]How to Take User Agent String and Plug Into API URL for Call

嘗試使用Glassdoor API提取JSON數據並顯示/查看。

這里與這個問題有些相關,除了這個人使用Python並且我需要使用JS / Jquery: REST:Glassdoor API在標頭中需要User-Agent

但是,Glassdoor的API文檔指示請求旨在通過以下URL /模式進行:

http://api.glassdoor.com/api/api.htm?v=1&format=json&t.p=120&t.k=fz6JLNDfgVs&action=employers&q=pharmaceuticals&userip=192.168.43.42&useragent=Mozilla/%2F4.0

而且,navigator.userAgent返回的用戶代理字符串比包含在URL中所需的字符串更長,格式也不同:

Mozilla / 5.0(Windows NT 10.0; WOW64)AppleWebKit / 537.36(KHTML,例如Gecko)Chrome / 51.0.2704.84 Safari / 537.36

這就是我在自己的設置中對其進行測試時返回的結果。 我要這樣做,以便將客戶端用戶代理正確添加到URL中以進行請求。

我是否只使用前x個字符的子字符串? 有沒有更好的方法可以自動將本機/客戶端用戶代理附加到URL? 或者,是否不能將其附加到URL並提交類似於包含它的Python方法的對象,.getJSON方法將自動執行此操作? 檢查JQuery.getJSON文檔后不清楚。

我試圖在Web,StackOverflow和github上搜索想法或清晰的JS協議,以了解如何正確地附加/解析用戶代理字符串以將其添加到Jquery中的.getJSON方法的URL中,但是我還是空白...或者,也許它就超過了我的頭...

我很新,還在學習,所以也許我不是在尋找合適的用語? 還是誤解了如何使用.getJSON?

到目前為止,這是我構造.getJSON方法和URL的方式:

$.getJSON("http://api.glassdoor.com/api/api.htm?v=1&format=json&t.p=70977&t.k=e5CNsNJMxw7&action=employers&q=" + industry + "&userip=" + uip + "&useragent=Mozilla/%2F4.0")

我想出了如何使用ipify.org獲取客戶端IP地址,並使用變量“ uip”將其放置到URL中的方法,就是這樣。

在此先非常感謝您提供的任何幫助和建議!

使用jQuery時,可以將參數作為對象提供,它將自動將其正確格式化為URL:

$.getJSON("http://api.glassdoor.com/api/api.htm", {
    v: 1,
    format: 'json',
    't.p': 70977,
    't.k': e5CNsNJMxw7&action=employers,
    q: industry,
    userip: uip,
    useragent: navigator.userAgent
}, function(response) {
    ...
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM