java - Android OkHttp 库 : GET Request - Exception EOFException:\n not found: size=0 content=

标签 java android http get okhttp

我在我的应用程序 OkHttp 库 ( http://square.github.io/okhttp/ ) 中使用,在一个简单的 GET 请求中我得到了这个异常:

Caused by: java.io.EOFException: \n not found: size=0 content=...
   at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:201)
   at com.squareup.okhttp.internal.http.HttpConnection.readResponse(HttpConnection.java:191)
   ...

unexpected end of stream on Connection{th.it-bedna.cz:80, proxy=DIRECT@ hostAddress=85.118.128.42 cipherSuite=none protocol=http/1.1} (recycle count=0)

对同一地址的其他 Get 请求工作正常。如果我向 Chrome 键入此请求,它也可以正常工作。你知道哪里出了问题吗?

感谢您的任何建议。

编辑:GET 的代码

public Call doGetRequest(String url, Callback callback) {
    com.squareup.okhttp.Request request = new com.squareup.okhttp.Request.Builder()
            .url(url)
            .build();

    Call call = client.newCall(request);
    call.enqueue(callback);
    return call;
}

使用:

void getData()
{
    String url = "http://th.it-bedna.cz/api/v2/event/1/user?i=8";
    Singleton.getInstance().doGetRequest(url, new Callback() {
        @Override
        public void onFailure(Request request, IOException e) {
            Log.i("CDT", "onFailure: " + e);
        }

        @Override
        public void onResponse(Response response) throws IOException {
        }
    });
}

最佳答案

如果您的服务器是 th.it-bedna.cz,如您的 logcat 信息所示,您可以尝试以下代码:

        OkHttpClient client = new OkHttpClient();
        // GET request
        Request request = new Request.Builder()
                .url("http://th.it-bedna.cz")
                .build();
        client.newCall(request).enqueue(new Callback() {
            @Override
            public void onFailure(Request request, IOException e) {
                Log.e(LOG_TAG, e.toString());
            }
            @Override
            public void onResponse(Response response) throws IOException {
                Log.w(LOG_TAG, response.body().string());
                Log.i(LOG_TAG, response.toString());
            }
        });

关于java - Android OkHttp 库 : GET Request - Exception EOFException:\n not found: size=0 content=,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34072774/

相关文章:

java - 为来自内部类 AsyncTask Firebase 的最后一个元素数组变量赋值

android - 在 Dialog 中添加 Adwhirl 导致 Inflate Exception

javascript - 将外部 react 性 API 数据插入到 Meteor 集合中

java - 带重定向的 URL 编码(元音变音)(302 暂时移动)

python - 解码从 HTTP 流中提取的 Cookie 变量 - Python

java - Android蓝牙断开连接而不会断开连接

java - 使用Hibernate Lazy Fetchtype时如何加载一组对象?

java - LWJGL 渲染无任何内容

从 Play 商店安装时,Android cordova 应用程序崩溃

java - Java 中的正则表达式,如果找到 "N","E","W","S"以外的任何字符,则返回 false