【发布时间】:2014-08-05 12:43:49
【问题描述】:
我有一个查询服务器的代码
try
{
using (var memoryStream = SerializeContentXml(query.Request))
{
var request = (HttpWebRequest)WebRequest.Create("some URL");
request.KeepAlive = false;
request.ContentType = "application/xml";
request.Method = "POST";
request.Headers["api_key"] = RequestHelper.ApiKey;
request.ContentLength = content.Length;
using (var requestStream = request.GetRequestStream())
{
requestStream.Write(content.ToArray(), 0, (int)content.Length);
requestStream.Close();
}
using (var response = await request.GetResponseAsync())
{
using (var stream = new StreamReader(response.GetResponseStream()))
{
var serializer = new XmlSerializer(query.Response.GetType());
var result = serializer.Deserialize(stream.BaseStream);
query.Response = (IBaseResponseModel)result;
}
}
}
}
catch (WebException ex)
{
if (ex.Status != WebExceptionStatus.Success)
{
var exceptionInfo = GetExceptionHierarchy(ex).Select(s => s.Message).ToArray();
new ErrorLogger().Log(exceptionInfo);
}
}
我的问题是: 有些查询会丢失内容,因此服务器会收到空内容。 如果 fiddler 正在运行并且选中此选项,则所有查询都成功完成。 当提琴手运行时,请求代理看起来像
默认系统代理设置看起来像
我的问题是:如何以编程方式模拟此设置?我做了很多手动设置请求代理的尝试,但没有结果。
【问题讨论】:
标签: c# proxy httpwebrequest fiddler