我在客户端使用Java-http-client库和Apache Transport,在服务器端使用Rails。有时会出现如下所示的获取错误:
11-24 17:37:02.469: WARN/BaseActivity(5925): org.apache.http.client.ClientProtocolException
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:557)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
at com.google.api.client.http.apache.ApacheHttpRequest.execute(ApacheHttpRequest.java:58)
at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:639)
at com.sk.api.SkClient.updateUser(SkClient.java:157)
at com.sk.api.SkClient$3.call(SkClient.java:76)
at com.sk.api.SkClient$3.call(SkClient.java:71)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
at java.lang.Thread.run(Thread.java:1019)
Caused by: org.apache.http.client.NonRepeatableRequestException: Cannot retry request with a non-repeatable request entity
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:413)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
... 12 more
我应该怎么做才能避免这种情况?
我有一个类似的错误,因为我使用了CountingInputStreamEntity这是一个不可重复的http客户端。解决方案是使用BufferedHttpEntity,它将不可重复的HTTP客户端转换为可重复的httpclient。
ParcelFileDescriptor fileDescriptor = this.getContentResolver().openFileDescriptor(uri, "r");
InputStream in = this.getContentResolver().openInputStream(uri);
CountingInputStreamEntity entity = new CountingInputStreamEntity(in, fileDescriptor.getStatSize());
entity.setUploadListener(this);
entity.setContentType("binary/octet-stream");
entity.setChunked(true);
BufferedHttpEntity myEntity = null;
try {
myEntity = new BufferedHttpEntity(entity);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
put.setEntity(myEntity);
我有一个问题,当我创建实时订阅时,我会收到来自不同Instagram IP地址的重复通知。我设置了它,以便在收到通知时,使用min_tag_id设置发送最新更新请求。我将其存储在我的数据库中,以便在下一个请求中使用它。我并不总是得到重复,但当我这样做时,通知的所有内容都是相同的(time、object、changed_aspect),只是我可以看出它们与我的调试输出不同,它列出了两个几乎相同的请求
这是我第一次编写单元测试,尽管我尽了最大的努力,但还是不可避免地给您带来了麻烦。我试图模拟,但是我的测试函数没有达到预期的效果,它诱导了一个状态代码,以便测试错误处理。 MyModule.Py
我想在我的React应用程序上发出如下获取请求,无论是否使用Axios。但我不知道如何为此添加身份验证令牌。 你能帮帮我吗?
有人可以帮助我将我的ruby代码转换为Go吗?请参考下面的红宝石代码。 外带。
我读过关于跨源请求的文章。考虑到此资源链接:
我需要将每个请求的不同系统属性设置为REST API。可以使用