希望最近发布的出站套接字 API 已经解决了这个问题,但事实并非如此 - 这是尝试建立 HTTP 连接时的错误:
信息:连接到目标主机时捕获的 I/O 异常 (java.net.SocketException):操作失败:setSocketOptions:尚未实现
从官方文档谷歌声明:
您不能使用大多数 getsockopt/setsockopt 调用。
问题是,有谁知道现在如何解决?urlfetch 不是一个选项,我想用客户端证书建立 SSL 连接,urlfetch 不支持它。
希望最近发布的出站套接字 API 已经解决了这个问题,但事实并非如此 - 这是尝试建立 HTTP 连接时的错误:
信息:连接到目标主机时捕获的 I/O 异常 (java.net.SocketException):操作失败:setSocketOptions:尚未实现
从官方文档谷歌声明:
您不能使用大多数 getsockopt/setsockopt 调用。
问题是,有谁知道现在如何解决?urlfetch 不是一个选项,我想用客户端证书建立 SSL 连接,urlfetch 不支持它。
如果你只是想让 HttpClient 在 AppEngine 上运行,试试这个:
HttpClient client = new DefaultHttpClient(new AppEngineClientConnectionManager());
使用以下ClientConnectionManager
不设置任何套接字选项的自定义。
使用 HttpClient 4.2.5 和HttpGet
AppEngine 1.8.1 上的简单测试——您可能需要覆盖/重新配置更多,具体取决于您对 HttpClient 的使用:
class AppEngineClientConnectionManager extends BasicClientConnectionManager {
@Override
protected ClientConnectionOperator createConnectionOperator(SchemeRegistry schreg) {
return new DefaultClientConnectionOperator(schreg) {
@Override
protected void prepareSocket(Socket sock, HttpContext context, HttpParams params)
throws IOException {
// Don't set any socket options.
}
};
}
}