URL在浏览器中运行,但使用HttpWebRequest从控制台应用程序返回500

时间:2011-02-01 22:57:45

标签: c# httpwebrequest console-application

尝试访问Web服务URL,可以正常工作(按预期返回状态代码200)而不会出现浏览器中的简单GET问题,但在通过控制台应用程序执行时,它返回状态代码为500?我怀疑它是代理或DNS问题,但不确定......

这是从控制台应用程序创建的请求:

// webRequestUrl has been modified
const string webRequestUrl = "http://0.0.0.0/communication/?id={0}&status=70"

var webRequest = WebRequest.Create(string.Format(webRequestUrl, invalidSseLead.LeadId));

try
{
    using (var webResponse = (HttpWebResponse)webRequest.GetResponse())
    {
        if (webResponse != null && webResponse.StatusCode == HttpStatusCode.OK)
        {
            using (var textStream = new StreamWriter("updateQuery.sql", true))
            {
                // Write some text
            }
        }
    }
}
catch (Exception exception)
{
    // Report exception
}

检查了生成的请求网址是否正常,难道为什么它可以从浏览器而不是控制台应用程序运行?

谢谢:)

2 个答案:

答案 0 :(得分:1)

网站是否拒绝以编程方式访问,以至于您可能必须使用以下内容伪造您的用户代理?

webRequest.UserAgent = "some normal browser user agent string";

答案 1 :(得分:0)

感谢您的帮助。事实证明问题实际上是使用了URL,但是有一个工作正在生成另一个正在抛出异常。

+1到MSMS - 我真的需要复制并粘贴正在生成的URL而不是使用带有测试数据的URL

由于