C# Post访问接口获取网站数据
我这里写了一个方法是Post方式访问接口获取网站数据以XML形式返回,写到服务里,每天运行2次。代码如下:publicXmlDocumentpostXMLByRespon...
我这里写了一个方法是Post方式访问接口获取网站数据以XML形式返回,写到服务里,每天运行2次。代码如下:
public XmlDocument postXMLByResponse(string URL, string param = "")
{
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
byte[] buffer = Encoding.UTF8.GetBytes(param);
request.ContentLength = buffer.Length;
request.GetRequestStream().Write(buffer, 0, buffer.Length);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
{
string result = reader.ReadToEnd();
XmlDocument xx = new XmlDocument();
xx.LoadXml(result);
return xx;
}
}
catch (Exception ex)
{
ex = new Exception("postXMLByResponseError:" + ex.Message);
throw ex;
}
}
但是,这个方法一般运行都正常,但是有时候,会有超时操作,然后我在外面判断如果返回为空,就每小时,访问一次重新获取,但是只要捕捉到异常The operation has timed out,以后每小时都会报这个错误,除非我重启服务就又正常了。刚工作,希望高手帮忙分析一下可能的原因。谢谢 展开
public XmlDocument postXMLByResponse(string URL, string param = "")
{
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
byte[] buffer = Encoding.UTF8.GetBytes(param);
request.ContentLength = buffer.Length;
request.GetRequestStream().Write(buffer, 0, buffer.Length);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
{
string result = reader.ReadToEnd();
XmlDocument xx = new XmlDocument();
xx.LoadXml(result);
return xx;
}
}
catch (Exception ex)
{
ex = new Exception("postXMLByResponseError:" + ex.Message);
throw ex;
}
}
但是,这个方法一般运行都正常,但是有时候,会有超时操作,然后我在外面判断如果返回为空,就每小时,访问一次重新获取,但是只要捕捉到异常The operation has timed out,以后每小时都会报这个错误,除非我重启服务就又正常了。刚工作,希望高手帮忙分析一下可能的原因。谢谢 展开
若以下回答无法解决问题,邀请你更新回答
展开全部
你的服务可能有问题,服务里面在功能相关地方打印日志,然后分析
追问
额,您说的加日志是指,像我这样在这个方法附近加了一个方法,可以把几点几分运行到哪写到txt里,也没能分析出什么,最早的时候我以为是服务器网络的问题,然后有一次,每次都捕捉到异常The operation has timed out,直到重启。还有一次7小时内,每次捕捉到异常The operation has timed out,直到重启。现在我也觉得是服务的问题,但是不知道从哪入手。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询