如何解决为什么我收到错误:流已关闭
我已经解决这个问题好几天了,我已经阅读了网络上的所有内容,但没有任何效果。
为什么我的代码会产生这个错误? 我该如何解决?
代码 Java:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
public class VerifyTokenInApp
{
String access_token = "";
public void Check_InApp_Purchase(String productID,String token) throws IOException
{
CloseableHttpClient client = null;
HttpGet request = null;
CloseableHttpResponse response = null;
System.out.println("productID " + productID + " token: " + token);
try
{
client = HttpClientBuilder.create().build();
request = new HttpGet("https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.my.app/purchases/products/" + productID + "/tokens/" + token + "?access_token=" + access_token);
response = client.execute(request);
// Get the response
//BufferedReader rd = new BufferedReader(
// new InputStreamReader(
// response.getEntity().getContent()));
//String line;
//while ((line = rd.readLine()) != null)
//{
// Parse the response from the server
System.out.println("line: " + line);
int responseCode = response.getStatusLine().getStatusCode();
String responseBody = EntityUtils.toString(response.getEntity()); //The error is here
System.out.println("responseCode: " + responseCode + " responseBody: " + responseBody);
//}
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
if (client != null) client.close();
if (request != null) request.releaseConnection();
if (response != null) response.close();
}
}
void GetAccessToken() throws IOException
{
CloseableHttpClient httpClient = null;
HttpPost post = null;
CloseableHttpResponse response = null;
try
{
httpClient = HttpClientBuilder.create().build();
post = new HttpPost("https://accounts.google.com/o/oauth2/token");
ArrayList<BasicNameValuePair> nvps = new ArrayList<BasicNameValuePair>();
nvps.add(new BasicNameValuePair("grant_type","refresh_token"));
nvps.add(new BasicNameValuePair("client_id","xxxxxxxxxxxx.apps.googleusercontent.com"));
nvps.add(new BasicNameValuePair("client_secret","xxxxxxxxxxxxxxxxx"));
nvps.add(new BasicNameValuePair("redirect_uri","https://www.my.app/"));
nvps.add(new BasicNameValuePair("refresh_token","1//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"));
post.setEntity(new UrlEncodedFormEntity(nvps,StandardCharsets.UTF_8));
response = httpClient.execute(post);
int responseCode = response.getStatusLine().getStatusCode();
String responseBody = EntityUtils.toString(response.getEntity());
System.out.println("response: " + response.toString());
System.out.println("responseCode: " + responseCode);
System.out.println("responseBody: " + responseBody);
}
catch (Exception ex)
{
System.out.println("Error occured due to:" + ex.getMessage());
}
finally
{
httpClient.close();
post.releaseConnection();
response.close();
}
}
}
我在这个语句中得到错误:"String responseBody = EntityUtils.toString(response.getEntity());"
最好在使用后关闭所有内容,对吗?
谢谢大家
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。