protected void Page_Load(object sender, EventArgs e) { var hd3 = new HD3.HD3(Request); Response.Write("<b>Vendor List</b><br/>"); if (hd3.deviceVendors()) { string rawreply = hd3.getRawReply(); Response.Write("JSON object dump "+rawreply + "<br/>"); } else { Response.Write(hd3.getError() + "<br/>"); Response.Write(hd3.getLog()); } hd3.cleanUp(); Response.Write("<b>All Nokia Models</b><br/>"); if (hd3.deviceModels("Nokia")) { string rawreply = hd3.getRawReply(); Response.Write("JSON object dump " + rawreply + "<br/>"); } else { Response.Write(hd3.getError() + "<br/>"); Response.Write(hd3.getLog()); } hd3.cleanUp(); Response.Write("<b>Nokia N95 device properties</b><br/>"); if (hd3.deviceView("Nokia","N95")) { string rawreply = hd3.getRawReply(); Response.Write("JSON object dump " + rawreply + "<br/>"); object reply = hd3.getReply(); Response.Write(hd3.getLog()); /* Response.Write("Vendor " + reply["hd_specs"]["general_vendor"] + "<br/>"); Response.Write("Model " + reply["hd_specs"]["general_model"] + "<br/>"); Response.Write("Browser " + reply["hd_specs"]["general_browser"] + "<br/>"); Response.Write("Platform " + reply["hd_specs"]["general_platform"] + "<br/>"); * */ } else { Response.Write(hd3.getError() + "<br/>"); Response.Write(hd3.getLog()); } hd3.cleanUp(); //=========================================================== Response.Write("<b>Handsets with Network CDMA</b><br/>"); hd3.ReadTimeout = 600; // Increse the read timeout on long running requests if (hd3.deviceWhatHas("network","cdma")) { string rawreply = hd3.getRawReply(); Response.Write("JSON object dump " + rawreply + "<br/>"); object reply = hd3.getReply(); } else { Response.Write(hd3.getError() + "<br/>"); Response.Write(hd3.getLog()); } hd3.cleanUp(); }
protected void Page_Load(object sender, EventArgs e) { string log = ""; string file = Request.PhysicalApplicationPath + "\\normal.txt"; string[] lines = System.IO.File.ReadAllLines(file); char[] separator = new char[] { '|' }; var hd3 = new HD3.HD3(Request); int i=0; /* // Display the file contents by using a foreach loop. Response.Write("Testing normal device http headers. Expect all normal agents to return 301 - Test begins.<br/>"); foreach (string line in lines) { if (i++ > 30) break ; string[] strSplitArr = line.Split(separator); if (strSplitArr.Length > 1) { hd3.setDetectVar("user-agent", strSplitArr[0]); hd3.setDetectVar("x-wap-profile", strSplitArr[1]); } else { hd3.setDetectVar("user-agent", strSplitArr[0]); } hd3.setDetectVar("x-test-header", null); log = hd3.getLog(); if (log != "") { Response.Write(log); Response.Write("<br/>"); } hd3.cleanUp(); } Response.Write("Test complete.<br/>"); */ string file2 = Request.PhysicalApplicationPath + "\\mobile.txt"; string[] lines2 = System.IO.File.ReadAllLines(file2); i = 0; Response.Write("<b> Start " + DateTime.Now +"<br/>"); // Prime the cache hd3.setDetectVar("user-agent", "android SGH-9000"); hd3.siteDetect(); hd3.cleanUp(); // Display the file contents by using a foreach loop. Response.Write("Expect all mobile agents to return JSON and display some device info.<br/>"); Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); foreach (string line in lines2) { // if (i++ > 30) break; string[] strSplitArr = line.Split(separator); if (strSplitArr.Length > 1) { hd3.setDetectVar("user-agent", strSplitArr[0]); hd3.setDetectVar("x-wap-profile", strSplitArr[1]); } else { hd3.setDetectVar("user-agent", strSplitArr[0]); } //hd3.setDetectVar("x-test-header", null); if (hd3.siteDetect()) { string rawreply = hd3.getRawReply(); var reply = (IDictionary)hd3.getReply(); Response.Write("<b>" + DateTime.Now + " " + " Vendor " + ((IDictionary)reply["hd_specs"])["general_vendor"]); Response.Write(",Model " + ((IDictionary)reply["hd_specs"])["general_model"]); Response.Write(",Browser " + ((IDictionary)reply["hd_specs"])["general_browser"]); Response.Write(",Platform " + ((IDictionary)reply["hd_specs"])["general_platform"] + "</b><br/>"); Response.Write("JSON object dump " + rawreply + "<br/>"); } else { string rawreply = hd3.getRawReply(); Response.Write(i.ToString() + "<b>FAIL</b>" + rawreply + "<br/>"); } Response.Write(hd3.getLog()); hd3.cleanUp(); } stopwatch.Stop(); Response.Write("Detections "+i.ToString() + " Time " +stopwatch.Elapsed.ToString()); Response.Write("<br/>"); Response.Write(hd3.getLog()); Response.Write("<br/>"); Response.Write("Test complete.<br/>"); }
protected void Page_Load(object sender, EventArgs e) { var hd3 = new HD3.HD3(Request); Response.Write("<b>Simple Detection - Using web browser standard headers (expect NotFound)</b><br/>"); if (hd3.siteDetect()) { string rawreply = hd3.getRawReply(); Response.Write(rawreply + "<br/>"); } else { Response.Write(hd3.getError() + "<br/>"); Response.Write(hd3.getLog()); } hd3.cleanUp(); Response.Write("<b>Simple Detection - Setting Headers for an N95</b><br/>"); hd3.setDetectVar("user-agent", "Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN95-3/20.2.011 Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413"); hd3.setDetectVar("x-wap-profile", "http://nds1.nds.nokia.com/uaprof/NN95-1r100.xml"); if (hd3.siteDetect()) { string rawreply = hd3.getRawReply(); Response.Write("JSON object dump "+rawreply + "<br/>"); var reply = (IDictionary) hd3.getReply(); Response.Write("Vendor " + ((IDictionary)reply["hd_specs"])["general_vendor"] + "<br/>"); Response.Write("Model " + ((IDictionary)reply["hd_specs"])["general_model"] + "<br/>"); Response.Write("Browser " + ((IDictionary)reply["hd_specs"])["general_browser"] + "<br/>"); Response.Write("Platform " + ((IDictionary)reply["hd_specs"])["general_platform"] + "<br/>"); Response.Write(hd3.getLog()); } else { Response.Write(hd3.getError() + "<br/>"); Response.Write(hd3.getLog()); } hd3.cleanUp(); Response.Write("<b>Simple Detection - Passing a different ip address (only works against web service)</b><br/>"); // Query for some other information (remember the N95 headers are still set). // Add detection options to query for additional reply information such as geoip information // Note : We use the ipaddress to get the geoip location. hd3.setDetectVar("ipaddress", "64.34.165.180"); hd3.setDetectVar("user-agent", "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5"); hd3.setDetectVar("x-wap-profile", "http://nds1.nds.nokia.com/uaprof/NN95-1r100.xml"); if (hd3.siteDetect("hd_specs, geoip")) { string rawreply = hd3.getRawReply(); Response.Write("JSON object dump " + rawreply + "<br/>"); var reply = (IDictionary)hd3.getReply(); Response.Write("Vendor " + ((IDictionary)reply["hd_specs"])["general_vendor"] + "<br/>"); Response.Write("Model " + ((IDictionary)reply["hd_specs"])["general_model"] + "<br/>"); Response.Write("Browser " + ((IDictionary)reply["hd_specs"])["general_browser"] + "<br/>"); Response.Write("Platform " + ((IDictionary)reply["hd_specs"])["general_platform"] + "<br/>"); Response.Write(hd3.getLog()); } else { Response.Write(hd3.getError() + "<br/>"); Response.Write(hd3.getLog()); } hd3.cleanUp(); //=========================================================== Response.Write("<b>All Detection Information</b><br/>"); hd3.ReadTimeout = 600; // Increse the read timeout on long running requests if (hd3.siteFetchArchive()) { string rawreply = hd3.getRawReply(); Response.Write("Size returned : "+ rawreply.Length + "<br/>"); } else { Response.Write(hd3.getError() + "<br/>"); Response.Write(hd3.getLog()); } hd3.cleanUp(); //========================================= Response.Write("<b>All Handset Information</b><br/>"); hd3.ReadTimeout = 600; // Increse the read timeout on long running requests if (hd3.siteFetchArchive()) { string rawreply = hd3.getRawReply(); Response.Write("Size returned : " + rawreply.Length + "<br/>"); } else { Response.Write(hd3.getError() + "<br/>"); Response.Write(hd3.getLog()); } hd3.cleanUp(); }
public void Initialize() { hd3 = new HD3.HD3(); secretConfig = new SecretConfig(); }
protected void Page_Load(object sender, EventArgs e) { string file = Request.PhysicalApplicationPath + "\\normal.txt"; string[] lines = System.IO.File.ReadAllLines(file); char[] separator = new char[] { '|' }; Console.WriteLine(Request); var hd3 = new HD3.HD3(Request); int i=0; // Display the file contents by using a foreach loop. Response.Write("Expect all normal agents to return 301 - Test begins.<br/>"); foreach (string line in lines) { if (i++ > 30) break ; string[] strSplitArr = line.Split(separator); if (strSplitArr.Length > 1) { hd3.setDetectVar("user-agent", strSplitArr[0]); hd3.setDetectVar("x-wap-profile", strSplitArr[1]); } else { hd3.setDetectVar("user-agent", strSplitArr[0]); } if (hd3.siteDetect()) { string rawreply = hd3.getRawReply(); Response.Write("JSON object dump " + rawreply + "<br/>"); dynamic reply = hd3.getReply(); Response.Write("Vendor " + reply["hd_specs"]["general_vendor"] + "<br/>"); Response.Write("Model " + reply["hd_specs"]["general_model"] + "<br/>"); Response.Write("Browser " + reply["hd_specs"]["general_browser"] + "<br/>"); Response.Write("Platform " + reply["hd_specs"]["general_platform"] + "<br/>"); Response.Write(hd3.getLog()); } else { dynamic reply = hd3.getReply(); Response.Write("Count "+i+" got "+reply["status"]+" on "+line+"<br/>"); //Response.Write(hd3.getLog()); } hd3.cleanUp(); } Response.Write("Test complete.<br/>"); string file2 = Request.PhysicalApplicationPath + "\\mobile.txt"; string[] lines2 = System.IO.File.ReadAllLines(file2); i = 0; // Display the file contents by using a foreach loop. Response.Write("Expect all mobile agents to return JSON and display some device info.<br/>"); foreach (string line in lines2) { if (i++ > 30) break; string[] strSplitArr = line.Split(separator); if (strSplitArr.Length > 1) { hd3.setDetectVar("user-agent", strSplitArr[0]); hd3.setDetectVar("x-wap-profile", strSplitArr[1]); } else { hd3.setDetectVar("user-agent", strSplitArr[0]); } if (hd3.siteDetect()) { string rawreply = hd3.getRawReply(); dynamic reply = hd3.getReply(); Response.Write("<b>Vendor " + reply["hd_specs"]["general_vendor"]); Response.Write(",Model " + reply["hd_specs"]["general_model"]); Response.Write(",Browser " + reply["hd_specs"]["general_browser"]); Response.Write(",Platform " + reply["hd_specs"]["general_platform"] + "</b><br/>"); Response.Write("JSON object dump " + rawreply + "<br/>"); //Response.Write(hd3.getLog()); } else { dynamic reply = hd3.getReply(); Response.Write("<h2>FAIL</h2>"); Response.Write(hd3.getLog()); //Response.Write("Count " + i + " got " + reply["status"] + " on " + line + "<br/>"); } hd3.cleanUp(); } Response.Write("Test complete.<br/>"); }