public async Task <bool> IsValidApiKey() { using (NasaSecureHttpRequest nasaSecHttpReq = new NasaSecureHttpRequest(NasaAddresses.NASA_ADDRESS_APOD, SecurityProtocolType.Tls12, SecureCookieContainer)) { try { NASA_PACKET_INFO responsePacket = nasaSecHttpReq.GetAsync("api_key=" + ApiKey); if (responsePacket.PacketStatus == NASA_STATUS.NASA_REQUEST_SUCCESS || responsePacket.PacketStatus == NASA_STATUS.NASA_REQUEST_PENDING) { if (responsePacket.PacketDataType == NASA_DATA_TYPE.NASA_DATA_ASYNCTASK) { string response = await responsePacket.PacketAsyncTask; if (response.Contains("API_KEY_INVALID")) { return(false); } else { return(true); } } else { string response = (string)responsePacket.PacketData; if (response.Contains("API_KEY_INVALID")) { return(false); } else { return(true); } } } else { return(false); } } catch { return(false); } } }
public NASA_PACKET_INFO GetAsync(String QueryString) { SecurityProtocolType lastSecureProtocol = ServicePointManager.SecurityProtocol; ServicePointManager.SecurityProtocol = SecureProtocolType; using (Ajax NetasyncAjax = new Ajax(HttpAddr, Encoding.Unicode, SecureCookieContainer, AjaxType.AjaxGET)) { NASA_PACKET_INFO packetInfo = new NASA_PACKET_INFO(); packetInfo.PacketDataType = NASA_DATA_TYPE.NASA_DATA_ASYNCTASK; try { packetInfo.PacketAsyncTask = NetasyncAjax.SendAsync(QueryString); packetInfo.PacketStatus = NASA_STATUS.NASA_REQUEST_SUCCESS; NasaRequestStatus = NASA_STATUS.NASA_REQUEST_SUCCESS; } catch { packetInfo.PacketStatus = NASA_STATUS.NASA_REQUEST_UNSUCCESSFUL; NasaRequestStatus = NASA_STATUS.NASA_REQUEST_UNSUCCESSFUL; } ServicePointManager.SecurityProtocol = lastSecureProtocol; return(packetInfo); } }