C# WebRequest正在调用localhost

C# WebRequest正在调用localhost,c#,xml,asp.net-web-api,httpwebrequest,webrequest,C#,Xml,Asp.net Web Api,Httpwebrequest,Webrequest,我试图调用RESTful API,但出于某种原因,每次调用时,我似乎都在调用localhost,而不是指定的URI 以下是我正在使用的代码: using System.IO; using System.Net; namespace WebApi.Models { public class GET { public static void Main() { /* The XML Request */

我试图调用RESTful API,但出于某种原因,每次调用时,我似乎都在调用localhost,而不是指定的URI

以下是我正在使用的代码:

using System.IO;
using System.Net;

namespace WebApi.Models
{
    public class GET
    {
        public static void Main()
        {
            /* The XML Request */
            string xmlRequest = @"
            <request>        
                <auth>
                    <type>basic</type>
                    <username>USERNAME</username>
                    <password>PASSWORD</password>
                </auth>
                <method>
                    <name>getProperties</name>
                    <params>
                        <propertyIds>356930</propertyIds>
                        <showAllStatus>0</showAllStatus>
                    </params>
                </method>
            </request>";

            /* Initiate a Web Request object */
            WebRequest request = WebRequest.Create ("https://ach.entrata.com/api/properties");
            request.Method = "GET";

            /* Initiate the request writer */
            StreamWriter requestWriter = new StreamWriter(request.GetRequestStream());

            /* If you want to send an XML Request, use these options */
            request.ContentType = "APPLICATION/XML; CHARSET=UTF-8";
            requestWriter.Write(xmlRequest);

            requestWriter.Close();

            /* Read the response */
            StreamReader responseReader = new StreamReader(request.GetResponse().GetResponseStream());
            string responseData = responseReader.ReadToEnd();
            responseReader.Close();
        }
    }
}
使用System.IO;
Net系统;
名称空间WebApi.Models
{
公共类获取
{
公共静态void Main()
{
/*XML请求*/
字符串xmlRequest=@“


请注意,它声称请求的URL是,而不是我在代码中指定的URI。我是否在此处遗漏了一些明显的内容?

我找到了答案。我将在此处粘贴固定的代码,以防将来其他人遇到此问题。主要错误是,当需要作为控制台应用程序时,我尝试将代码作为web应用程序运行操作。此外,我试图运行GET调用,但它需要POST调用才能将查询参数发送到服务器。在此之后,我出现了另一个小错误,我通过移动@来修复它下一行删除任何前导空格。完成后,我的代码运行良好,并将信息完美地返回到控制台窗口

using System;
using System.IO;
using System.Net;

namespace Console_API_Test
{
    class Program
    {
        static void Main(string[] args)
        {
            /* The XML Request */
            string xmlRequest = 
          @"<request>


            <auth>

                <type> basic </type>

                <username> USERNAME </username>

                <password> PASSWORD </password>

            </auth>

            <method>

                <name> getProperties </name>

                <params>

                     <propertyIds> 356930 </propertyIds>

                    <showAllStatus> 0 </showAllStatus>

                </params>

              </method>

        </request>";


        /* Initiate a Web Request object */
        WebRequest request = WebRequest.Create("https://ach.entrata.com/api/properties");   
        request.Method = "POST";

        /* Initiate the request writer */
        StreamWriter requestWriter = new StreamWriter(request.GetRequestStream());

        /* If you want to send an XML Request, use these options */
        request.ContentType = "APPLICATION/XML; CHARSET=UTF-8";                             
        requestWriter.Write(xmlRequest);

        requestWriter.Close();

        /* Read the response */
        StreamReader responseReader = new StreamReader(request.GetResponse().GetResponseStream());
        string responseData = responseReader.ReadToEnd();
        responseReader.Close();
        Console.WriteLine(responseData);
    }
}
}
使用系统;
使用System.IO;
Net系统;
名称空间控制台API测试
{
班级计划
{
静态void Main(字符串[]参数)
{
/*XML请求*/
字符串xmlRequest=
@"
基本的
用户名
密码
getProperties
356930
0
";
/*启动Web请求对象*/
WebRequest=WebRequest.Create(“https://ach.entrata.com/api/properties");   
request.Method=“POST”;
/*启动请求编写器*/
StreamWriter requestWriter=新的StreamWriter(request.GetRequestStream());
/*如果要发送XML请求,请使用以下选项*/
request.ContentType=“APPLICATION/XML;CHARSET=UTF-8”;
Write(xmlRequest);
requestWriter.Close();
/*阅读回复*/
StreamReader responseReader=新的StreamReader(request.GetResponse().GetResponseStream());
字符串responseData=responseReader.ReadToEnd();
responseReader.Close();
控制台写入线(响应数据);
}
}
}

当我浏览
https://ach.entrata.com/api/properties
在google chrome中,我进入了API文档页面
https://ach.entrata.com/api/documentation
。您需要首先检查请求是否真的要发送到指定的url。我不知道fiddler是个东西。我很抱歉I’我来看看。不过,这是该公司提供给我的请求URL。你是如何获得该屏幕截图的?你是否尝试在某个地方浏览该URL?我在Visual Studio中按了F5,它运行了w/internet explorer。你是从控制台应用程序还是从Web应用程序运行此代码?你能分享你的项目的确切外观吗?我认为您看到的错误来自服务URL中的本地代码注释。