Google安全浏览HTTP POST – 403响应

我正在开发一个针对某些url查询Google安全浏览的程序,但我收到了一个我认为不应该收到的错误。 我发送以下请求: 2 http://google.com http://facebook.com 通过POST到: https://sb-ssl.google.com/safebrowsing/api/lookup?client=api&apikey=[KEY]&appver=1.5.2&pver=3.1 : https://sb-ssl.google.com/safebrowsing/api/lookup?client=api&apikey=[KEY]&appver=1.5.2&pver=3.1 但是,我得到了403回复。 这是文档针对HTTP POST查找错误所说的内容: 服务器为POST请求生成以下HTTP错误代码: •200:至少有一个查询过的URL在网络钓鱼,恶意软件或不需要的软件列表中匹配。 实际结果通过响应正文返回。 •204:查询的URL中没有一个与网络钓鱼,恶意软件或不需要的软件列表匹配,并且不返回任何响应正文。 •400:错误请求 – 未正确形成HTTP请求。 •401:未授权 – API密钥未经授权。 •503:服务不可用 – 服务器无法处理请求。 除了正常的服务器故障之外,这还可能表明客户端已被“限制”以发送太多请求。 响应代码403未列出,但我已收到它。 我已经对我的API密钥进行了三次检查,并确保为我的项目启用了API。 我正在使用服务器密钥,但我也尝试使用浏览器密钥。 我也试过做一个GET请求,这确实有效,但我无法让POST工作。 这是怎么回事? 这是我的代码: try { String baseURL=”https://sb-ssl.google.com/safebrowsing/api/lookup”; String arguments = “”; arguments +=URLEncoder.encode(“client”, “UTF-8”) + “=” + URLEncoder.encode(“api”, “UTF-8”) + “&”; arguments +=URLEncoder.encode(“apikey”, “UTF-8”) + “=” […]

用Java从MySQL读取blob

我在使用Java从MySQL数据库中读取blob时遇到问题。 我需要用jax-rs编写一个web服务来提供保存在数据库中的图像。 对于传输,必须使用Base64进行编码。 这是我的代码: public String getImage(@PathParam(“id”) int id) throws SQLException{ System.out.println(id); String img64str = “null”; Blob image = null; Connection conn = MySQLConnection.getInstance(); if(conn != null) { try{ // Anfrage-Statement erzeugen. Statement query; query = conn.createStatement(); // Ergebnistabelle erzeugen und abholen. String sql = “SELECT bild FROM beitraege where id=”+id; ResultSet result = query.executeQuery(sql); […]

如何编写可以与我的网站API交互的Java桌面应用程序?

这是一个很大的问题,但我只需要朝着正确的方向努力。 我的网站即将发布。 它提供的服务之一是图像托管。 我正在考虑用Java编写桌面应用程序,以帮助促进大量上传,并迫使我使用Java来获得真实的体验。 java如何向API发送“请求”? 我在网站上使用codeigniter,对于那些不熟悉的人,url分为3部分。 /controller/action/id例如: http://google.com/users/addphoto/23 : http://google.com/users/addphoto/23将访问“用户”控制器,其中包含“addphoto”function,$ id将设置为值“23” 。 我假设我需要使用上面的url结构让java访问API,但我该如何“做到”? 如何通过x参数告诉应用程序访问此URL(例如“user / authenticate”)将产生所需的信息(来自“身份validation令牌”)? 我知道这个问题可能毫无意义,但我缺乏Java如何与其自己的项目文件夹之外的任何东西进行交互的基本思路。 我可以写php的东西很好,但我不想开始,直到我知道java的能力。 在询问之前我确实搜索了一下,但是很多人都是java开发人员在使用php时遇到的问题,而且我处于完全相反的位置。

使用JDBC驱动程序通过代理连接到MySQL

在Java中,我想从位于http代理后面的客户端计算机连接到Web服务器上的MySQL服务器。 我已经阅读了一些解决方案,有人说http隧道可能有效,有些人建议使用来自oracle的一个非常旧的链接 ,这个链接不再可用了。 所以问题是: 我们如何从http代理后面的计算机连接到MySQL服务器?

Swing – setResizable(true)使JFrame标题栏更高,窗口大小更小

如果有人将其标记为重复,我会自己做:我们之前有一个非常相对的问题: Java setResizable(false)改变窗口大小(swing) 没有解决方案适合我。 这是我的SSCCE: import java.awt.BorderLayout; import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ComponentEvent; import java.awt.event.ComponentListener; import javax.swing.BorderFactory; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JTextArea; import javax.swing.SwingUtilities; import javax.swing.UIManager; import javax.swing.plaf.nimbus.NimbusLookAndFeel; public class TitleHeightChange extends JFrame { private static final String lp = System.lineSeparator(); public TitleHeightChange() { begin(); } private void begin() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // […]

Google App Engine后端servlet没有响应

我构建了一个我试图在后端运行的servlet。 但是在启动后端并向http://mybackend.myapp.appspot.com/update发送post后,没有任何内容可供选择。 当我访问: http : //myapp.appspot.com/update servlet正在工作但不在后端。 我究竟做错了什么? Servlet代码: public class UpdateServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println(“start long task”); } } backends.xml B1 true true web.xml中 update server.UpdateServlet update /update

ByteBuffer.wrap(byte )是否会导致长时间运行的应用程序出现内存泄漏?

我试图在线搜索,但没有找到答案。 基于java doc ,ByteBuffer.wrap()在每次调用中创建一个新的ByteBuffer。 在长时间运行的应用程序中,如果未触发gc,但应用程序一直在调用ByteBuffer.wrap(),则应用程序可能会在Java堆外部使用更多内存,并导致潜在的内存泄漏。 是对的吗? public static ByteBuffer wrap(byte[] array) Wraps a byte array into a buffer. The new buffer will be backed by the given byte array; that is, modifications to the buffer will cause the array to be modified and vice versa. The new buffer’s capacity and limit will be array.length, its […]

如何在Java中使用“多个”SSL证书?

我有一个应用程序同时与多个主机通信。 在这种情况下,我需要使用多个密钥库来与其他主机建立通信。 在这种情况下,设置系统属性“javax.net.ssl.keyStore”是有问题的。 我找到了一篇很好的讨论问题的post 。 那么解决这个问题的最佳方法是什么?

如何使用Google Drive REST AP和HTTPClient创建文件夹?

我正在使用带有HTTPClient的Google Drive REST API来创建文件夹。 REST API是这里的文档请注意REST AP请求执行 – 但使用了错误的数据:tt创建一个名为“untitled”的新文件并将我的json放在那里。 我已经尝试了使用HTTPClient构建POST请求的不同方法,这些方法成功执行 – 但不知何故,Google Drive响应创建文件并返回此数据并忽略我提交的POST数据。 这就是服务器所响应的内容 .. “kind”:“drive#file”,“id”:“0B-fYJN-c4UDjUlh1TUZadF9vejA”,这是一个有效的ID“title”:“Untitled”,—-错误的标题“mimeType”:“application / json; charset = UTF-8“, – 这是错误的mimeType .. 我尝试了以下调用API的方法:我不确定我发送的数据发生了什么。 1)使用表单名称值对 DefaultHttpClient httpClient = new DefaultHttpClient(); HttpPost postRequest = new HttpPost(“https://www.googleapis.com/upload/drive/v2/files?key=”+GoogleClientConstants.GOOGLE_api_key); postRequest.addHeader(“Authorization”, “Bearer ” + accessToken); postRequest.addHeader(“Content-Type”, “application/json; charset=UTF-8”); List nvps = new ArrayList (); nvps.add(new BasicNameValuePair(“title”, “vip”)); nvps.add(new BasicNameValuePair(“mimeType”, […]

代码中的Android Memoryleak

我试图理解内存泄漏的概念。 我尝试了这个代码并尝试了一些我从相关post中找到的方法,但我无法解决问题。 需要帮助来了解此代码中发生内存泄漏的位置。 我的申请只有2项活动 //第一活动 package com.pace.mat; import android.app.Activity; import android.app.Dialog; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.Window; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ImageView; public class MATDemoActivity extends Activity implements OnClickListener { private Dialog dialog1; private Button btnSubmit; private Context myClassContext; private ImageView RedImage,BlueImage,Yellow,Orange,Green; /** Called when the activity is first created. […]