相关疑难解决方法(0)

HttpURLConnection:java.lang.IllegalStateException:已经连接

我正在尝试使用HttpURLClient使用HttpRestClient下面显示的类将一些POST数据发送到服务器.执行时

conn.setDoInput(true);
Run Code Online (Sandbox Code Playgroud)

我明白了

java.lang.IllegalStateException: Already connected
Run Code Online (Sandbox Code Playgroud)

我卸载了应用程序,仍然得到相同的错误.

在所有示例中,我都看到过之前调用过openConnection setDoInput.如果顾名思义,openConnection打开一个连接,它应该永远不会在`setDoInput之前使用,对吗?我错过了什么?

也许在某些时候它在执行之前崩溃了disconnect.这可能是原因吗?如果是这样,我该如何断开旧连接?

public class HttpRestClient {
static public int post(String urlStr, List<NameValuePair> data){

    HttpURLConnection conn = null;

    try {

        URL url = new URL(urlStr);


        conn = (HttpURLConnection) url.openConnection();

        conn.setDoInput(true);
        conn.setDoOutput(true);

        conn.setRequestMethod("POST");

        OutputStream os = conn.getOutputStream();
        BufferedWriter writer = new BufferedWriter(
                new OutputStreamWriter(os, "UTF-8"));
        writer.write(getQuery(data));
        writer.flush();
        writer.close();
        os.close();

        InputStream is = conn.getInputStream();

        String dude = readIt(is);

        return 1;

    } catch (MalformedURLException e) {
        // TODO Auto-generated …
Run Code Online (Sandbox Code Playgroud)

android httpurlconnection

11
推荐指数
2
解决办法
2万
查看次数

使用HttpUrlConnection获取"已连接"的Android POST请求

我正在尝试使用HttpUrlConnection进行POST调用,但没有成功.我经常收到'IllegalStateException:已连接'错误消息.我对重用连接不感兴趣.请检查我的代码并告诉我,如果我做错了什么:

public static final int CONNECTION_TIME_OUT = 10000;

public SimpleResponse callPost(String urlTo, Map<String, String> params) {
    System.setProperty("http.keepAlive", "false");
    HttpURLConnection conn = null;
    SimpleResponse response = new SimpleResponse(0, null);
    try {
        URL url = new URL(urlTo);
        conn = (HttpURLConnection) url.openConnection();
        conn.setUseCaches(false);
        conn.setAllowUserInteraction(false);
        conn.setConnectTimeout(CONNECTION_TIME_OUT);
        conn.setReadTimeout(CONNECTION_TIME_OUT);
        conn.setInstanceFollowRedirects(false);
        conn.setRequestMethod("POST");
        conn.setRequestProperty("Connection", "close");
        conn.setRequestProperty("Content-type", "application/x-www-form-urlencoded");
        conn.setRequestProperty("Content-Length", String.valueOf(postDataBytes.length));
        conn.setDoOutput(true);

        OutputStream os = conn.getOutputStream();
        BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os, "UTF-8"));
        writer.write(paramsToString(params));
        writer.flush();
        writer.close();
        os.close();

        int responseCode = conn.getResponseCode();
        if (responseCode == HttpURLConnection.HTTP_OK) {
            InputStream in = conn.getInputStream(); …
Run Code Online (Sandbox Code Playgroud)

post android httpurlconnection

8
推荐指数
1
解决办法
2714
查看次数

HttpURLConnection已连接

我正在尝试复制它,openstack swift v1中的复制语句(工作正常):

curl -i $publicURL/GXPrueba/StorageAPI/PruebaStorageCopy.png -X PUT -H "X-Auth-Token:  $token" -H "X-Copy-From: /GXPrueba/StorageAPI/PruebaStorage.png" -H "Content-Length: 0"
Run Code Online (Sandbox Code Playgroud)

像这样:

private void copy(String originContainer, String origin, String destinationContainer, String destination) {
    try {
        URL url = new URL(storageUrl + DELIMITER + destinationContainer + DELIMITER + destination);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setDoInput(true);
        conn.setDoOutput(true);
        conn.setRequestMethod("PUT");
        conn.setRequestProperty("X-Auth-Token", authToken);
        conn.setRequestProperty("X-Copy-From", DELIMITER + originContainer + DELIMITER + origin);
        conn.setRequestProperty("Content-Length", "0");

        if (conn.getResponseCode() != HttpURLConnection.HTTP_CREATED) {
            System.err.println("Error while copying the object: " + conn.getResponseCode());
        } …
Run Code Online (Sandbox Code Playgroud)

java openstack-swift httpconnection illegalstateexception

5
推荐指数
1
解决办法
6357
查看次数