android URLConnection中的java.io.FileNotFoundException

android URLConnection中的java.io.FileNotFoundException,android,httpurlconnection,Android,Httpurlconnection,当我尝试调用服务器上的方法时,我遇到了以下异常,有人能告诉我问题出在哪里吗 stacktrace java.io.FileNotFoundException: https://services.q84sale.com/live/index.php/V1/Users/register at com.android.okhttp.internal.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:186) com

当我尝试调用服务器上的方法时,我遇到了以下异常,有人能告诉我问题出在哪里吗

stacktrace

java.io.FileNotFoundException: https://services.q84sale.com/live/index.php/V1/Users/register
at com.android.okhttp.internal.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:186)
com.android.okhttp.internal.http.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:246)
com.forsale.forsale.controller.manager.ForSaleNetworkManager.execute(ForSaleNetworkManager.java:116)
com.forsale.forsale.controller.manager.ForSaleServerManager$18.doInBackground(ForSaleServerManager.java:1423)
com.forsale.forsale.controller.manager.ForSaleServerManager$18.doInBackground(ForSaleServerManager.java:1399)
at android.os.AsyncTask$2.call(AsyncTask.java:288)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:848)

信息太少,无法给出正确答案。可能:

  • 您在查询中指定的对象在服务器上不存在
  • 你使用了错误的方法(GET,PUT)而不是POST
  • 服务器的代码中有一些错误
  • 加:


    我注意到您在收到399以上的响应代码后正在使用
    .getInputStream()
    。检查
    .getResponseCode()
    ,然后使用
    .getErrorStream()
    代替

    服务器返回错误代码422 with JSON对象在我在postman上测试请求时包含错误消息。您尝试访问web服务器文件,就像它是位于您的文件系统上的文件一样。从定义上来说,这是错误的。如果您尝试在FireFox中打开该路径,就会看到这样的情况:
    {“status”:400,“error”:{“code”:1,“message_en”:“无效的HTTP方法。只接受POST”。,“message_ar”:“无效的HTTP方法。只接受POST”。}
    。看来你需要一个关于Web服务的教程。