Closed indrajeetgour closed 3 years ago
If you have made more than 100 requests per 5 min from your IP address then the requests start getting blocked with this same 403 error.
On top of this, make sure the requests are being sent from an Indian IP address. However, Indian IPs are rejected if you are using Digitalocean server as well. The above error code is because of IP not being detected as Indian origin
On top of this, make sure the requests are being sent from an Indian IP address. However, Indian IPs are rejected if you are using Digitalocean server as well. The above error code is because of IP not being detected as Indian origin
Thanks for let me know this... I was using VPN. Now it is working fine.. Thanks
On top of this, make sure the requests are being sent from an Indian IP address. However, Indian IPs are rejected if you are using Digitalocean server as well. The above error code is because of IP not being detected as Indian origin
Thanks for let me know this... I was using VPN. Now it is working fine.. Thanks
Can you let me know what changes you made to your code ?! I'm using NodeJS and the app is deployed on heroku
@indrajeetgour , Kindly let us know the steps, you added in. Were you using VPN in your local machine or did this error occur in production ?
@Raxy45 heroku servers are not located in India. you will not be able to hit APIs from there. you should move your code to AWS, GCP aur Azure servers in India.
@ninjabhishek , we can hit the Indian API through a server proxy, I have a package for it if you are using node JS app.
@saran-surya have you tried it in a prod server on any cloud providers? heroku is a PaaS and would not allow you to do these, and other cloud providers give you their public IP which I don't think you can change, since they must be having the public ip and actual server behind a routing table which would be disrupted when you use server proxy there. This is just my assumption, please let me know if I am wrong and you have done this successfully on public cloud servers.
Also, what is the package?
Yes @ninjabhishek , I have done this in HEROKU US based server, and it is working fine, Like the main idea is to use your local IP and wrap the server on top of it, Thus you have to login to the proxy room in your client and change them,
The package is https://github.com/saran-surya/cassata, Also there is documentation on setting up the server and accessing them, Hope it helps 😉
On top of this, make sure the requests are being sent from an Indian IP address. However, Indian IPs are rejected if you are using Digitalocean server as well. The above error code is because of IP not being detected as Indian origin
Thanks for let me know this... I was using VPN. Now it is working fine.. Thanks
Can you let me know what changes you made to your code ?! I'm using NodeJS and the app is deployed on heroku
I just called my api from India hosted vm instead.
On top of this, make sure the requests are being sent from an Indian IP address. However, Indian IPs are rejected if you are using Digitalocean server as well. The above error code is because of IP not being detected as Indian origin
Thanks for let me know this... I was using VPN. Now it is working fine.. Thanks
Can you let me know what changes you made to your code ?! I'm using NodeJS and the app is deployed on heroku
I just called my api from India hosted vm instead.
Kindly elaborate the steps as they will be helpful.
@indrajeetgour , Kindly let us know the steps, you added in. Were you using VPN in your local machine or did this error occur in production ?
I used the api call from my local machine where as I used VPN which was in Germany before I switch to India, and it is working now. I think govt has restricted the access as per country.
@indrajeetgour , Kindly let us know the steps, you added in. Were you using VPN in your local machine or did this error occur in production ?
I used the api call from my local machine where as I used VPN which was in Germany before I switch to India, and it is working now. I think govt has restricted the access as per country.
Yes they have GEO-FENCED the public data, thus they can prevent people from booking slots from other countries, for people in India,
On top of this, make sure the requests are being sent from an Indian IP address. However, Indian IPs are rejected if you are using Digitalocean server as well. The above error code is because of IP not being detected as Indian origin
Yeah, I am facing the same issue. Why is this happening ?
@AkshayMathur92 they have done this to make sure people abroad do not put load on the api, and also because the vaccination drive is only for Indian people.
Which server or cloud are you facing this issue in?
@AkshayMathur92 they have done this to make sure people abroad do not put load on the api, and also because the vaccination drive is only for Indian people.
Which server or cloud are you facing this issue in?
Apologies my question is not well-formed. I am using Digital ocean droplet, Bangalore region. However, getting a 403 error. My question is what can I do about it ?
@AkshayMathur92 if you are using node js, you can see @saran-surya comment above on his npm package to bypass this on cloud servers and access the API, if you still want to use digital ocean. if you are not using node js, I would suggest you move your code to Azure, GCP or AWS servers in Indian regions and it would work. I am using combination of python and java and my code are on azure and aws servers
@AkshayMathur92 if you are using node js, you can see @saran-surya comment above on his npm package to bypass this on cloud servers and access the API, if you still want to use digital ocean. if you are not using node js, I would suggest you move your code to Azure, GCP or AWS servers in Indian regions and it would work. I am using combination of python and java and my code are on azure and aws servers
Following up on your advice , I created a server on AWS in both ap-south-1a & ap-south-1b , however both servers were facing the same issue.
@AkshayMathur92 can you share complete url you are trying to hit?
@AkshayMathur92 can you share complete url you are trying to hit?
I got the issue, I wasn't passing the user agent. Postman automatically adds the user agent by itself, but when you try to get the curl from that , it removes the user agent header.
@AkshayMathur92 ohh. we faced that too from our azure server in the beginning
I am using Google Cloud functions and no luck with user-agent and Mumbai zone.
same code works on local?
Yeah, same working in local and Google cloud VM instance too.
then cowin does not identify cloud functions ip as Indian origin. code deployed on digitalocean bangalore vm are also facing same issues. you would need to deloy on vm and send requests
Yeah, I end up with deploying it in VM
As we understood, had an issue with the geolocation other than India.
Now I am closing this.
Since I was trying to call the public API I am getting the following response, please let me know if I am making some mistake or anything that I need to fix.
code snippet for the same:(passing both pin_code and given_date in expected format)