服务器返回 HTTP 响应代码:403 for URL Google maps api URL
Posted
技术标签:
【中文标题】服务器返回 HTTP 响应代码:403 for URL Google maps api URL【英文标题】:Server returned HTTP response code: 403 for URL Google maps api URL 【发布时间】:2022-01-21 07:25:20 【问题描述】:我正在开发一个程序,该程序应该通过给定坐标使用谷歌地图 api url 显示带有 java swing 的地图,我的问题是当我运行代码时出现此异常:
java.io.IOException: Server returned HTTP response code: 403 for URL
这是我的代码
public class GoogleMapsDem
public static void main(String[] args) throws IOException
JFrame test = new JFrame("Google Maps");
try
String latitude = "40.714728";
String longitude = "-73.998672";
String imageUrl = "https://maps.googleapis.com/maps/api/staticmap?center=" +
latitude +
"," +
longitude +
"&zoom=11&size=612x612&scale=2&maptype=roadmap&key=AIzaSyB_53TgJE4QKQJKOvJFKeLbvUrqKeJ3vw0";
String destinationFile = "image.jpg";
// read the map image from Google
// then save it to a local file: image.jpg
//
URL url = new URL(imageUrl);
InputStream is = url.openStream();
OutputStream os = new FileOutputStream(destinationFile);
byte[] b = new byte[2048];
int length;
while ((length = is.read(b)) != -1)
os.write(b, 0, length);
is.close();
os.close();
catch (IOException e)
e.printStackTrace();
System.exit(1);
// create a GUI component that loads the image: image.jpg
//
ImageIcon imageIcon = new ImageIcon((new ImageIcon("image.jpg"))
.getImage().getScaledInstance(630, 600,
java.awt.Image.SCALE_SMOOTH));
test.add(new JLabel(imageIcon));
// show the GUI window
test.setVisible(true);
test.pack();
这可能是什么原因造成的?
【问题讨论】:
确保除了“Google Maps API”之外,还启用了“Static Maps API”服务。 ***.com/questions/19408066/… 您似乎已经包含了您的 google maps API 密钥 - 您可能需要重置它,因为它现在是公开的,不法分子可能会窃取它。 【参考方案1】:状态码403 Forbidden代表客户端错误,表示服务器有能力处理请求但拒绝授权访问。简单来说就是你没有权限访问这个url
【讨论】:
以上是关于服务器返回 HTTP 响应代码:403 for URL Google maps api URL的主要内容,如果未能解决你的问题,请参考以下文章
java.io.IOException:服务器返回 HTTP 响应代码:URL 的 403 [重复]
java.io.IOException:服务器返回 HTTP 响应代码:URL 为 403
java.io.IOException:服务器返回 HTTP 响应代码:URL 的 403 [重复]
Gradle 错误:服务器返回 HTTP 响应代码:403 用于 URL:http://services.gradle.org/distributions/gradle-2.2.1-all.zip