Nest api 端口9553(来自Firebase)被网络主机阻止,can';我找不到一种方法可以成功地卷曲到备用端口上

Nest api 端口9553(来自Firebase)被网络主机阻止,can';我找不到一种方法可以成功地卷曲到备用端口上,nest-api,Nest Api,我在RESTAPI中使用PHP和cURL,尽管我可以对初始的Nest Developer api端点进行cURL,但一旦它重定向到Firebase的url,它就会通过端口9553,我的Web主机已经阻止了端口9553(也没有机会打开)。连接超时并抛出“无法连接到主机”错误 我的代码运行良好,我可以在本地服务器上运行它,没有问题 我不太会使用cURL,我有什么选择?在我看来,问题在于port Firebase坚持使用。我可以卷曲许多不同的位置,超过:80和:443没有问题,只是没有Firebase

我在RESTAPI中使用PHP和cURL,尽管我可以对初始的Nest Developer api端点进行cURL,但一旦它重定向到Firebase的url,它就会通过端口9553,我的Web主机已经阻止了端口9553(也没有机会打开)。连接超时并抛出“无法连接到主机”错误

我的代码运行良好,我可以在本地服务器上运行它,没有问题

我不太会使用cURL,我有什么选择?在我看来,问题在于port Firebase坚持使用。我可以卷曲许多不同的位置,超过:80和:443没有问题,只是没有Firebase的url。我是否需要运行代理才能访问数据


或者,这是否可以通过使用Firebase的PHP库来解决?如果不用的话,我对使用它不太感兴趣,cURL会很好地完成这项工作,我也不知道它是如何工作的。

REST无法绕过重定向,它们指向Nest云中的特定端口和主机

Firebase的Web套接字客户端有什么问题?它比其他的更有效。

joshguerette, 您的防火墙是否阻止了该端口

您可以使用以下命令从c#代码打开端口:

using Microsoft.TeamFoundation.Common;
private void AddPortToFirewall(int portNumber, string name) 
{
    INetFwMgr icfMgr = null;
    try
    {
        Type TicfMgr = Type.GetTypeFromProgID("HNetCfg.FwMgr");
        icfMgr = (INetFwMgr)Activator.CreateInstance(TicfMgr);
    }
    catch (Exception ex)
    {
        Debug.WriteLine("Failed in AddPortToFirewall.Activator " + portNumber.ToString() + " " + name + " " + ex.ToString());
        return;
    }

    try
    {
        INetFwProfile profile;
        INetFwOpenPort portClass;
        Type TportClass = Type.GetTypeFromProgID("HNetCfg.FWOpenPort");
        portClass = (INetFwOpenPort)Activator.CreateInstance(TportClass);

        // Get the current profile
        profile = icfMgr.LocalPolicy.CurrentProfile;

        // Set firewall enabled
        if (!profile.FirewallEnabled)
            profile.FirewallEnabled = true;

        // Set the port properties
        portClass.Scope = NET_FW_SCOPE_.NET_FW_SCOPE_ALL;
        portClass.Enabled = true;
        portClass.Name = name;
        portClass.Port = portNumber;
        portClass.Protocol = NET_FW_IP_PROTOCOL_.NET_FW_IP_PROTOCOL_TCP;

        // Add the port to the ICF Permissions List
        bool portExisted = false;
        foreach (INetFwOpenPort p in profile.GloballyOpenPorts)
        {
            if (p.Port == portNumber && p.Name == name)
            {
                portExisted = true;
                Debug.WriteLine("Windows Firewall inbound list:" + p.Port + " " + p.Name);
                break;
            }
        }

        if (!portExisted)
        {
            profile.GloballyOpenPorts.Add(portClass);
            Debug.WriteLine("ServicePort " + portNumber.ToString() + " " + name + " was added into Windows Firewall inbound list.");
        }
        else
        {
            Debug.WriteLine("ServicePort " + portNumber.ToString() + " " + name + " has already in Windows Firewall inbound list.");
        }

    }
    catch (Exception ex)
    {
        Debug.WriteLine("Failed in AddPortToFirewall " + portNumber.ToString() + " " + name + " " + ex.ToString());
    }
}

它们没有任何问题,只是我没有使用PHP库的经验。我看了文档,但我真的不知道从哪里开始。如何将Nest API与Firebase应用程序连接,或者它们已经连接?我使用共享主机,因此无法访问防火墙。另外,我的应用程序是PHP。这对我来说也是一个问题,因为许多公司用户都在防火墙后面阻止这个端口。