android - Rest API 在 Android 上重定向到错误页面,在 iOS 上按预期工作

标签 android ios api

当我从 https://electoralsearch.in/ 获取数据时,我在 Android 上遇到了非常奇怪的问题

我使用以下方式生成验证码:

https://electoralsearch.in/Home/GetCaptcha?image=true&id=Mon%20Nov%2018%202019%2020:32:20%20GMT+0530%20(India%20Standard%20Time)

在 iOS 和 Android 上

并尝试使用以下方式搜索用户:

https://electoralsearch.in/Home/searchVoter?epic_no=BLN4315024&page_no=1&results_per_page=10&reureureired=ca3ac2c8-4676-48eb-9129-4cdce3adf6ea&search_type=epic&txtCaptcha=sO4ZJC

问题是它在 iOS 中给出了预期结果,但在 Android 中导致错误页面。

https://electoralsearch.in/Error/ErrorPage

我也不拥有该网站:https://electoralsearch.in也不知道幕后发生了什么。

非常感谢您提供的任何帮助。我还附上了 Android 的代码 zip 供大家查看:

https://www.dropbox.com/s/dxnikqi4x7r8adz/Test.zip?dl=1

使用 BLN4315025 作为 EPICID 并声明为北方邦。

加载验证码的iOS代码是:

func loadCaptcha(){
        let format = "E MMM dd yyyy HH:mm:ss 'GMT'Z (zzzzzz)"
        let formatter = DateFormatter()
        formatter.dateFormat = format
        let dateString = formatter.string(from: Date())
        if let url = "https://electoralsearch.in/Home/GetCaptcha?image=true&id=\(dateString)".URL(){
            let urlRequest = URLRequest.init(url: url, cachePolicy: .reloadIgnoringLocalCacheData, timeoutInterval: 10.0)
            URLSession.shared.dataTask(with: urlRequest) { (data, response, error) in
//                Print(data)
                if data != nil{
                    if let image = UIImage.init(data: data!){
                        DispatchQueue.main.async {
                            self.captchaImageView.image = image
                        }
                    }
                }
            }.resume()
        }
    }


and searching the user using:

```func searchEPIC(){
        self.endEditing(true)
        var epicId:String?
        var captcha:String?
        var errorMessage:String?
        func validateFrom() -> Bool{
            if let val = self.epicIdTextField.text?.trimmedString(),
                val.isValidInput(){
                epicId = val
            }else{
                errorMessage = "Please enter EPIC Id!"
            }
            if let val = self.captchaTextField.text?.trimmedString(),
                val.isValidInput(){
                captcha = val
            }else{
                errorMessage = "Please enter Captcha Code!"
            }
            if errorMessage != nil{
//                AlertController.shared.showError(errorMessage, "OK!", nil)
                Print(errorMessage)
            }
            return String.isBlank(errorMessage) ? true : false
        }
        if validateFrom(){
            let urlString =  String(format:"https://electoralsearch.in/Home/searchVoter?epic_no=%@&page_no=1&results_per_page=10&reureureired=ca3ac2c8-4676-48eb-9129-4cdce3adf6ea&search_type=epic&state=%@&txtCaptcha=%@", epicId!, self.selectedStateId!, captcha!)
            if let url = urlString.URL(){
                let urlRequest = URLRequest.init(url: url, cachePolicy: .reloadIgnoringLocalCacheData, timeoutInterval: 10.0)
                URLSession.shared.dataTask(with: urlRequest) { (data, response, error) in
                    //
                    DispatchQueue.main.async {
                        self.reloadCaptcha()
                    }
                    if data != nil,
                        let responseData = data{
                        Print(responseData)
                        do {
                            let result = try JSONSerialization.jsonObject(with: responseData, options: .allowFragments)
                            Print(result)
                            self.processResult(result)
                        } catch {
                            if let string = String.init(data: responseData, encoding: .utf8){
                                Print(string)
                            }
                            Print(error)
                        }
                    }else{
                        Print(error)
                    }
                }.resume()
            }
        }
    }
    ```


最佳答案

你为什么不使用 API,我的工具也使用同样的 API

https://rapidapi.com/myvotersadmin/api/voterid_details

关于android - Rest API 在 Android 上重定向到错误页面,在 iOS 上按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58917630/

相关文章:

android - 谷歌地图 API v2 api key

android - Android 中的文本样式

ios - 如何在 iOS 中打开 .svg 文件?

iphone - 从 Facebook ID 查找用户名的最佳方法

php - token 无效-YouTube API中的错误401

java - android 共享首选项 xml 文件

android - Jsoup http错误获取url

ios - 有人可以看看我的代码并告诉我为什么我的数组 (AllNews) 在单元格内是空的吗

api - 在流明中启用 CORS

ios - Dropbox usersGetCurrentAccount 无成员编译错误