首页 > 解决方案 > HttpWebResponse().GetResponse 超时

问题描述

我试图让我的程序使用HttpWebRequest/与 API 对话Response。POST 调用有效并生成身份验证代码。

我打的第二个电话是 GET 电话,由于某种原因,它每次都超时。我试过Request.Timeout, .readwritetimeout, content type,servicepoint没有protocolVersion成功。

这是我的代码:

public void InHouseReservations()
{
    try
    {
        int Id = 0;
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create($"{Properties.Settings.Default.RMSAPIIp}reservations/inHouse?modelType=basic&propertyId=1");
        //request.Method = "GET";
        request.ContentType = "application/json";
        request.Headers.Add($"authtoken: {RMSAuthToken}");
        request.Timeout = 200000;
        request.ReadWriteTimeout = 200000;

        request.ServicePoint.Expect100Continue = false;
        request.ProtocolVersion = HttpVersion.Version11;

        using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
        {
            Console.WriteLine(((HttpWebResponse)response).StatusDescription);

            using (var dataStream = response.GetResponseStream())
            {
                StreamReader reader = new StreamReader(dataStream);
                string responseFromServer = reader.ReadToEnd();
                Console.WriteLine(responseFromServer);
            }

            var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
            dynamic tokenJSON = JObject.Parse(responseString);
            ReservationID = tokenJSON.Id;
            response.Close();
        }

           
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.Message);
    }
}

标签: c#apirms

解决方案


推荐阅读