【问题标题】:Allowing a connection to communicate with my .NET Restful API允许连接与我的 .NET Restful API 进行通信
【发布时间】:2019-10-05 07:45:01
【问题描述】:

所以,我正在使用 .NET 框架构建一个 RESTFUL API。但是,由于连接被拒绝,我已经停滞不前。它拒绝自签名证书。

所以我正在使用移动热点(这样我可以检查多个连接),我的手机正在尝试连接到 API。它被拒绝。我让 Unity 尝试从运行 API 服务器的同一设备连接,但它被拒绝。我在本地系统上使用邮递员,它被拒绝了。如果我在邮递员中关闭 SSL 证书......它的工作原理!但是,我不喜欢这样。或者我可能对如何正确设置感到困惑。

我正在使用 .NET 为您提供的开箱即用 API,但有一些改动:

// GET api/values
[HttpGet]
public ActionResult<Player> Get()
 {
   Player player = new Player
   {
     Id = 1,
     Name = "Bloodmorphed"
    };
    return player;
 }

现在在 Unity 中(因为它确实是我为获取数据而编写的唯一代码):

using System.Collections;
using System.Collections.Generic;
using System;
using UnityEngine;
using UnityEngine.Networking;
using System.Net;

public class CallAPI : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        StartCoroutine(GetUnityWebRequest());
    }

    IEnumerator GetUnityWebRequest()
    {
        UnityWebRequest request = UnityWebRequest.Get("https://localhost:44305/api/values");
        yield return request.SendWebRequest();
        if (request.isHttpError)
        {
            Debug.Log("HTTP Error: " + request.error);
        }
        else if (request.isNetworkError)
        {
            Debug.Log("Network Error: " + request.error);
        }
        else if (request.error != null)
        {
            Debug.Log("Other Error: " + request.error);
        }
        else
        {
            Debug.Log(request.downloadHandler.text);
        }
    }
}

现在,使用 Unity,它会给出网络错误,但会显示“未知错误”。我可以强制它不使用自签名证书,但我认为这会更好地固定服务器端而不是客户端。

所以:它可以在本地浏览器上运行,但不能在远程浏览器上运行,但在同一个网络上(我知道它可以连接,因为我之前已经这样做了......它拒绝连接)。如果我禁用 ssl 证书,它将在邮递员上工作。我有点不知所措。

【问题讨论】:

    标签: c# unity3d asp.net-web-api


    【解决方案1】:

    当你在 dev 中尝试调用一个 httpS url 时,最好调用一个 http (no S) url。如果您使用您的应用程序上线,请考虑切换到加密通信,但使用安全版本的 http (https) 对于本地测试来说有点矫枉过正

    【讨论】:

    • 我同意,但出于某种原因,它不允许我只使用 http。编辑:NVM 我是个白痴。我只需要注释掉自动重定向。
    • 仅使用 http 会出现什么错误?
    • 请将此作为评论发布。这不是答案
    • 哦不知道。我不确定我是否理解,你能解释一下原因吗?
    猜你喜欢
    • 2019-02-03
    • 1970-01-01
    • 1970-01-01
    • 2019-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多