Android发送HTTP PUT,但出现错误:isDataScedulerEnabled():False

Android发送HTTP PUT,但出现错误:isDataScedulerEnabled():False,android,http,Android,Http,我正在尝试发送PUT请求,但失败了。 只有在我第一次尝试发送数据时,以下行才会出现在日志中(在进一步使用中,不会引发异常): E/DataScheduler:isDataSchedulerEnabled():false 我试着用谷歌搜索出这可能意味着什么,但运气不好。即使在发送数据的进一步尝试中,上述异常不会再出现,仍然没有数据被发送。我正在尝试在我自己的服务器上发送它,但我看不到该端没有收到任何连接。使用我的Android浏览器,我可以发送一个成功的GET请求 我还通过以下方式设置了Inter

我正在尝试发送PUT请求,但失败了。 只有在我第一次尝试发送数据时,以下行才会出现在日志中(在进一步使用中,不会引发异常):

E/DataScheduler:isDataSchedulerEnabled():false

我试着用谷歌搜索出这可能意味着什么,但运气不好。即使在发送数据的进一步尝试中,上述异常不会再出现,仍然没有数据被发送。我正在尝试在我自己的服务器上发送它,但我看不到该端没有收到任何连接。使用我的Android浏览器,我可以发送一个成功的GET请求

我还通过以下方式设置了Internet的权限:

<uses-permission android:name="android.permission.INTERNET" />

我对Java或Android不太熟悉,但据我所知,请求应按以下方式形成和发送:

public void sendFilesWithPut(String address, String file) {
    new AsyncTask<String,Void,Void>() {
        @Override
        protected Void doInBackground(String... params) {
            try {
                //Log.d("HTTP:","Address:"+params[0]+":"+params[1]+" file:"+params[2]);
                URL url = new URL("http://" + params[0] + ":" + params[1]);
                HttpURLConnection httpCon = (HttpURLConnection) url.openConnection();
                httpCon.setDoOutput(true);
                httpCon.setRequestMethod("PUT");
                OutputStreamWriter out = new OutputStreamWriter(httpCon.getOutputStream());
                out.write(params[2]);
                out.close();
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return null;
        }
    }.execute(address, Integer.toString(port), file);
}
public void sendFilesWithPut(字符串地址,字符串文件){
新建异步任务(){
@凌驾
受保护的Void doInBackground(字符串…参数){
试一试{
//Log.d(“HTTP:,”地址:“+params[0]+”:“+params[1]+”文件:“+params[2]);
URL URL=新URL(“http://“+params[0]+”:“+params[1]);
HttpURLConnection httpCon=(HttpURLConnection)url.openConnection();
httpCon.setDoOutput(真);
httpCon.setRequestMethod(“PUT”);
OutputStreamWriter out=新的OutputStreamWriter(httpCon.getOutputStream());
out.write(参数[2]);
out.close();
}捕获(格式错误){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();
}
返回null;
}
}.execute(地址、整数.toString(端口)、文件);
}
每次尝试发送PUT请求时,我都可以打印一行日志,它都是正确的:IP、端口和待发送字符串


有什么办法可以让它工作吗?

我怀疑params[0]和params[1]实际上是url的地址和端口。如果是这样的话,你可以参考以下帖子:

如果您开始与响应交互,内容将发送到何处,请添加以下内容:

System.err.println(httpCon.getResponseCode());

根据帖子,看看这是否有效?

啊,这段代码成功了!奇怪的是,在我学习代码的任何示例中都没有。无论如何,谢谢你。你正式拯救了我的一天:)别客气,伙计,很高兴能帮助一个noob同伴。。。在这里很难得到有帮助的或好的答案,通常必须回答我自己的问题。祝你好运!:)