我们正在通过其他公司的帖子实施webAPI。基本上,我们正在发送一个Web请求,然后另一家公司正在发回其响应:
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(toUrl);
webRequest.Method = "POST";
webRequest.ContentType = "application/x-www-form-urlencoded";
webRequest.KeepAlive = true;
// Send Request
using (StreamWriter sw = new StreamWriter(webRequest.GetRequestStream()))
{
sw.Write(RequestProcessor.ToQueryString(request));
sw.Close();
}
// Get Response
using (StreamReader sr = new StreamReader(webRequest.GetResponse().GetResponseStream()))
{
result = sr.ReadToEnd();
sr.Close();
}
问题在于,通常我们整合的所有其他公司都将其响应发送回响应源自的位置,以便上述代码完美运行。这一次,这个特定的供应商希望我们指定回发网址。所以当我们得到结果时,它看起来像这样:
<html><head><script type='text/javascript' charset='utf-8'>window.location ="specify postback url here";</script></head><body></body></html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
代码位于单独的项目(bin)中,并由需要它的页面调用。此外,可能有数百个不同的页面。所以基本上,在&#34中指定的URL是什么;在这里指定回发网址&#34;确保他们的回复实际上是我们的请求来自哪里?