我正在向 google.com 发出 http 请求。这就是我这样做的方式:
HttpTestWebRequest = (HttpWebRequest)System.Net.WebRequest.Create("http://www.google.com/");
HttpTestWebRequest.Method = "GET";
HttpTestWebRequest.BeginGetResponse(GetHttpTestResponse, HttpTestWebRequest);
...
private void GetHttpTestResponse(IAsyncResult asynchronousResult)
{
var webRequest = (HttpWebRequest)asynchronousResult.AsyncState;
WebResponse response =((HttpWebRequest)asynchronousResult.AsyncState).EndGetResponse(asynchronousResult);
...
}
使用提琴手,它给了我一个 http 302 移动状态码,但在应用程序中它会抛出一个异常并且不会重定向到网站的新位置。
任何想法为什么会发生这种情况?
更新 1
我得到一个NullReferenceException
.
堆栈跟踪是:
在 System.Net.Browser.HttpWebRequestHelper.RemoveHttpOnlyCookies(Uri requestUri, String setCookieHeaderValue)
在 System.Net.Browser.HttpWebRequestHelper.ParseHeaders(Uri requestUri, SecurityCriticalDataForMultipleGetAndSet`1 标头, WebHeaderCollection 集合, Boolean removeHttpOnlyCookies, HttpStatusCode& status, String& statusDescription)
在系统.Net.Browser.ClientHttpWebRequest.Progress(Object sender, EventArgs e)
at MS.Internal.CoreInvokeHandler.InvokeEventHandler(Int32 typeIndex, Delegate handlerDelegate, Object sender, Object args)
at MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs , Int32 argsTypeIndex, Int32 actualArgsTypeIndex, String eventName)