evilpie / add-custom-search-engine

Add a custom search engine to the list of available search engines in Firefox
https://addons.mozilla.org/en-US/firefox/addon/add-custom-search-engine/
Mozilla Public License 2.0
173 stars 13 forks source link

FCC ULS callsign search #18

Closed TheButterZone closed 4 years ago

TheButterZone commented 4 years ago

Is https://wireless2.fcc.gov/UlsApp/UlsSearch/searchLicense.jsp incompatible with this add-on or can the script-based callsign search work?

If you search for a callsign, it'll come up with a list of results, and on that list is links like: https://wireless2.fcc.gov/UlsApp/UlsSearch/license.jsp?licKey=4276163

The license key doesn't really mean much & isn't searched for much, if at all, so doing

https://wireless2.fcc.gov/UlsApp/UlsSearch/license.jsp?licKey=%s

as the search URL wouldn't make any sense.

Additionally, since the callsign search shows more than just the active callsign (expired/cancelled/etc show too), I'm not aware of a query like https://wireless2.fcc.gov/UlsApp/UlsSearch/license.jsp?ActiveCallSign=N6ATF that would get directly to it, leaving only the script-based search results.

evilpie commented 4 years ago

I looked into this a little bit. It seems like the search at https://wireless2.fcc.gov/UlsApp/UlsSearch/searchLicense.jsp uses POST instead of GET requests to submit the search. I suggest opening the Network Console and looking at the submitted request. POST searches can be enabled under the advanced settings. I quickly tried to do figure out the right parameters, but I didn't immediately succeed.

TheButterZone commented 4 years ago

Yeah I saw a web developer have someone open that over Zoom before, so that's the first place I looked. I wasn't sure how to find the POST parameters but I dug around the https://wireless2.fcc.gov/UlsApp/UlsSearch/results.jsp & came up with this in the "Copy POST data"

fiUlsSearchByType=uls_l_callsign                
fiUlsSearchByValue=N6ATF
x=41
y=10
hiddenForm=hiddenForm
jsValidated=true

and from the "Copy All As HAR"

"queryString": [], "headersSize": 1110, "postData": { "mimeType": "application/x-www-form-urlencoded", "params": [ { "name": "fiUlsSearchByType", "value": "uls_l_callsign " }, { "name": "fiUlsSearchByValue", "value": "N6ATF" }, { "name": "x", "value": "42" }, { "name": "y", "value": "10" }, { "name": "hiddenForm", "value": "hiddenForm" }, { "name": "jsValidated", "value": "true" } ], "text": "fiUlsSearchByType=uls_l_callsign++++++++++++++++&fiUlsSearchByValue=N6ATF&x=42&y=10&hiddenForm=hiddenForm&jsValidated=true" } },

and the request body of POST URL https://wireless2.fcc.gov/UlsApp/UlsSearch/results.jsp: fiUlsSearchByType=uls_l_callsign++++++++++++++++&fiUlsSearchByValue=N6ATF&x=41&y=10&hiddenForm=hiddenForm&jsValidated=true

Should I try this or will it break the internet?

Screen Shot 2020-05-29 at 13 24 00

evilpie commented 4 years ago

Sure you can try. Good luck.