Внедрявам приложение, което прави заявка срещу API за геолокация на Google Maps. Заявките ми преминават добре от моята работна станция. Но получавам грешка 400 Bad Request всеки път, когато го стартирам от сървър в облака на Amazons.
По-долу е примерна заявка за curl, която правя, за да тествам. Използваният API позволява всяко IP.
curl -d "{'wifiAccessPoints':[{'macAddress':'c8:d7:19:16:3b:63'},{'macAddress':'c8:d7:19:16:3b:61'}]}" -H "Content-Type: application/json" -i "https://www.googleapis.com/geolocation/v1/geolocate?key=PUTYOURKEYHERE" -v
По-долу е даден пример за резултатите от грешката
* About to connect() to www.googleapis.com port 443 (#0)
* Trying 173.194.76.95... connected
* Connected to www.googleapis.com (173.194.76.95) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
* SSL connection using SSL_RSA_WITH_RC4_128_SHA
* Server certificate:
* subject: CN=*.googleapis.com,O=Google Inc,L=Mountain View,ST=California,C=US
* start date: Jan 15 14:37:40 2014 GMT
* expire date: May 15 00:00:00 2014 GMT
* common name: *.googleapis.com
* issuer: CN=Google Internet Authority G2,O=Google Inc,C=US
> POST /geolocation/v1/geolocate?key=AIzaSyDzcv8DIbbeGBaONSq2kXh7g9AZbgsiUC8 HTTP/1.1
> User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.14.3.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
> Host: www.googleapis.com
> Accept: */*
> Content-Type: application/json
> Content-Length: 93
>
< HTTP/1.1 400 Bad Request
HTTP/1.1 400 Bad Request
< Content-Type: application/json; charset=UTF-8
Content-Type: application/json; charset=UTF-8
< Date: Thu, 30 Jan 2014 10:56:18 GMT
Date: Thu, 30 Jan 2014 10:56:18 GMT
< Expires: Thu, 30 Jan 2014 10:56:18 GMT
Expires: Thu, 30 Jan 2014 10:56:18 GMT
< Cache-Control: private, max-age=0
Cache-Control: private, max-age=0
< X-Content-Type-Options: nosniff
X-Content-Type-Options: nosniff
< X-Frame-Options: SAMEORIGIN
X-Frame-Options: SAMEORIGIN
< X-XSS-Protection: 1; mode=block
X-XSS-Protection: 1; mode=block
< Server: GSE
Server: GSE
< Alternate-Protocol: 443:quic
Alternate-Protocol: 443:quic
< Transfer-Encoding: chunked
Transfer-Encoding: chunked
<
{
"error": {
"errors": [
{
"domain": "geolocation",
"reason": "invalidRequest",
"message": "Bad Request"
}
],
"code": 400,
"message": "Bad Request"
}
}
* Connection #0 to host www.googleapis.com left intact
* Closing connection #0
-v
и да споделите изхода curl от вашия екземпляр на EC2? - person Steve Jansen   schedule 29.01.2014* upload completely sent off: 93 out of 93 bytes
- person user3246295   schedule 30.01.2014