BeginGetRequestStream() public method

public BeginGetRequestStream ( AsyncCallback callback, Object state ) : IAsyncResult
callback AsyncCallback
state Object
return IAsyncResult
Example #1
3
 public void PostRegisterInfoAsync(RegisterInfo registerInfo)
 {
     _requestState = new RequestState();
     _registerInfo = registerInfo;
     _httpWebRequest = (HttpWebRequest)WebRequest.Create(_registerURL);
     _timer.Start();
     _requestState.request = _httpWebRequest;
     _httpWebRequest.Method = "POST";
     _httpWebRequest.ContentType = "application/x-www-form-urlencoded";
     _httpWebRequest.BeginGetRequestStream(new AsyncCallback(RequestCallback), _httpWebRequest);
 }
 private Stream GetRequestStreamAsynch(HttpWebRequest request)
 {
     return AsynchHelper.WaitForAsynchResponse(
         c => request.BeginGetRequestStream(c, null),
         (r, s) => request.EndGetRequestStream(r)
     );
 }
Example #3
0
 public void Submit()
 {
     // Prepare web request...
     webRequest = WebRequest.CreateHttp(url);
     webRequest.Method = "POST";
     webRequest.ContentType = string.Format("multipart/form-data; boundary={0}", boundary);
     webRequest.BeginGetRequestStream(new AsyncCallback(RequestReady), webRequest);
 }
 private void BeginRequest(string method, HttpWebRequest httpRequest, AsyncRequest rawRequestData)
 {
     if (method == "PUT" || method == "POST")
     {
         httpRequest.BeginGetRequestStream(WriteStream, rawRequestData);
     }
     else
     {
         httpRequest.BeginGetResponse(ReadCallback, rawRequestData);
     }
 }
Example #5
0
 protected void POST(string URL, string post_message)
 {
     POST_REQUEST = (HttpWebRequest)HttpWebRequest.Create(URL);
     POST_REQUEST.Method = "POST";
     POST_REQUEST.ContentType = "application/x-www-form-urlencoded";
     POST_REQUEST.BeginGetRequestStream(result =>
     {
         Stream post_stream = POST_REQUEST.EndGetRequestStream(result);
         byte[] ba = Encoding.UTF8.GetBytes(post_message);
         post_stream.Write(ba, 0, ba.Length);
         post_stream.Close();
         POST_REQUEST.BeginGetResponse(new AsyncCallback(POST_Method_CallBack),POST_REQUEST);
     }, POST_REQUEST);
 }
Example #6
0
        public WebRequestResult(HttpWebRequest pRequest, ProxyTranslation pTranslation, AsyncCallback pCallback, HttpContext pContext, object pState)
        {
            context = pContext;
            _request = pRequest;
            _callback = pCallback;
            translation = pTranslation;
            IsCompleted = false;
            AsyncState = pState;

            if (_request.Method.Equals("POST", StringComparison.InvariantCultureIgnoreCase))
                _request.BeginGetRequestStream(new AsyncCallback(AsyncReturnStream), this);
            else
                _request.BeginGetResponse(new AsyncCallback(AsyncReturn), this);
        }
        public void Send()
        {
            HttpRequestState requestState = new HttpRequestState();

            requestState.Request = webRequest;

            if (requestBytes != null)
            {
                webRequest.BeginGetRequestStream(RequestStreamData, requestState);
            }
            else
            {
                webRequest.BeginGetResponse(ReceivedData, requestState);
            }
        }
Example #8
0
            protected override WebRequest GetWebRequest(Uri address) {
                  string a = address.ToString();
                  string[] words = a.Split(new Char[] { '?' });
                  _webRequest = (HttpWebRequest)System.Net.WebRequest.Create(new Uri(words[0], UriKind.RelativeOrAbsolute));
                  _webRequest.CookieContainer = App.CookieContainer;
                  _webRequest.Headers["Cache-Control"] = "no-cache";
                  _webRequest.Headers["User-Agent"] = Global.GetDeviceOSVersion();
                  _webRequest.Method = "POST";
                  _webRequest.Headers["token"] = this._token;
                  _webRequest.ContentType = "application/x-www-form-urlencoded; charset=ISO-8859-1";
                  _postId = words[1];
                  _webRequest.BeginGetRequestStream(new AsyncCallback(GetRequestStreamCallback), _webRequest);
                  System.Threading.Thread.Sleep(1000);

                  return _webRequest;
            }
Example #9
0
        public void run()
        {
            _asyncState = new ManualResetEvent(false);

            // create a new request
            _request = (HttpWebRequest) WebRequest.Create(_url);
            _request.Method = "POST";
            _request.Accept = "application/json";
            _request.ContentType = _contentType;

            if (_request.Method == "POST")
                // Start the asynchronous operation to get the request-content
                _request.BeginGetRequestStream(new AsyncCallback(getRequestCallback), _request);
            else
                // Start the asynchronous operation to get the response
                _request.BeginGetResponse(new AsyncCallback(getResponseCallback), _request);
        }
Example #10
0
 public void Run()
 {
     try
     {
         string postString = string.Format("assertion={0}&audience={1}", HttpUtility.UrlEncode(Assertion), HttpUtility.UrlEncode(Audience));
         PostBytes = Encoding.ASCII.GetBytes(postString);
         Request = (HttpWebRequest)HttpWebRequest.Create("https://verifier.login.persona.org/verify");
         Request.UserAgent = "Persona Client";
         Request.Method = "POST";
         Request.ContentType = "application/x-www-form-urlencoded";
         Request.ContentLength = PostBytes.Length;
         Request.BeginGetRequestStream(new AsyncCallback(OnGetRequestStream), null);
     }
     catch (Exception exception)
     {
         HandleException(exception);
     }
 }
Example #11
0
        /// <summary>
        /// 异常信息与 request 的 BeginGetRequestStream, EndGetRequestStream 相同。
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public static async Task <Stream> GetRequestStreamAsync(this HttpWebRequest request)
        {
            var task = new TaskCompletionSource <Stream>();

            request.BeginGetRequestStream(ac =>
            {
                try
                {
                    task.SetResult(request.EndGetRequestStream(ac));
                }
                catch (Exception e)
                {
                    task.SetException(e);
                }
            }, null);

            return(await task.Task);
        }
 public static Task<Stream> GetRequestStreamAsync(HttpWebRequest request)
 {
     var taskComplete = new TaskCompletionSource<Stream>();
     request.BeginGetRequestStream(asyncResponse =>
     {
         try
         {
             HttpWebRequest responseRequest = (HttpWebRequest)asyncResponse.AsyncState;
             Stream someResponse = (Stream)responseRequest.EndGetRequestStream(asyncResponse);
             taskComplete.TrySetResult(someResponse);
         }
         catch (Exception)
         {
             taskComplete.TrySetResult(null);
         }
     }, request);
     return taskComplete.Task;
 }
Example #13
0
        public static Stream GetRequestStream(this HttpWebRequest request)
        {
            var    dataReady = new AutoResetEvent(false);
            Stream stream    = null;
            var    callback  = new AsyncCallback(delegate(IAsyncResult asynchronousResult)
            {
                stream = (Stream)request.EndGetRequestStream(asynchronousResult);
                dataReady.Set();
            });

            request.BeginGetRequestStream(callback, request);
            if (!dataReady.WaitOne(DefaultRequestTimeout))
            {
                return(null);
            }

            return(stream);
        }
Example #14
0
        private void HtttpPost()
        {
            try
            {
                request = (HttpWebRequest)HttpWebRequest.Create("http://dldir1.qq.com/qqfile/qq/QQ2013/2013Beta5/6970/QQ2013Beta5.exe");
                //Thread.Sleep(1000);
                request.Method = "POST";
                request.BeginGetRequestStream(ResponseStreamCallbackPost, request);
                //request.BeginGetResponse(ResponseCallbackPost, request);
            }
            catch (WebException e)
            {
                if (e.Status == WebExceptionStatus.Timeout)
                {

                }
                Dispatcher.BeginInvoke(() => MessageBox.Show(e.Message + " Status:" + e.Status));
            }
        }
Example #15
0
 protected void DoPost(string url, string post, Action<string> doOnFinish)
 {
     try
     {
         myRequest = HttpWebRequest.CreateHttp(url);
         myRequest.Accept = "application/json";
         myRequest.Method = "POST";
         myRequest.ContentType = "application/x-www-form-urlencoded";
         myRequest.CookieContainer = cookieContainer;
         var async1 = myRequest.BeginGetRequestStream((result1) =>
         {
             HandleEndGetRequestStream(post, doOnFinish, result1);
         },
             null);
     }
     catch (Exception exc)
     {
         ShowErrorMessage(exc);
     }
 }
        public void DownloadStringAsyncWithPost(HttpWebRequest request, byte[] postData, string contentType)
        {
            _webRequest = request;
            _webRequest.Method = "POST";
            _webRequest.ContentType = contentType;
            _webRequest.AllowReadStreamBuffering = true;

            try
            {
                _webRequest.BeginGetRequestStream(BeginRequest, postData);
            }
            catch (SystemException)
            {
                // Bad news bears.
            }

#if DEBUG && TRACKING_TIME
            StartTimeTracking();
#endif
        }
 private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
 {
    
     //myRequest = (HttpWebRequest)WebRequest.Create("http://passport.cnblogs.com/login.aspx");
     if (NavigationContext.QueryString.Count > 0) {
         username = NavigationContext.QueryString["username"];
         password = NavigationContext.QueryString["password"];
     
     }
     myRequest = (HttpWebRequest)WebRequest.Create("http://m.cnblogs.com/mobileLoginPost.aspx");
     myRequest.Method = "POST";
     myRequest.ContentType = "application/x-www-form-urlencoded";
     if (cookieContainer==null)
     {
         myRequest.CookieContainer = new CookieContainer();
     }
     myRequest.CookieContainer = cookieContainer;
     
     myRequest.BeginGetRequestStream(new AsyncCallback(GetRequestStreamCallback), myRequest);
     getFlashMemoryList();
     
 }
Example #18
0
    /// <summary>
    /// Post image
    /// </summary>
    /// <param name="url"></param>
    /// <param name="data"></param>
    /// <param name="imgRaw"></param>
    public void PostImage(
                  string url,
                  Dictionary<string, object> data,
                  WebPostImageObject media)
    {
      byte[] postData = BuildImagePostData(data, media);

      try
      {
        Request = HttpWebRequest.Create(url) as HttpWebRequest;
        Request.ContentType =
                  string.Concat("multipart/form-data; boundary=",
                                BOUNDARY);
        Request.Method = "POST";
        Request.BeginGetRequestStream(
            (asyncResult) => OnGetRequestStreamCallback(asyncResult, postData),
           Request);
      }
      catch (System.Exception e)
      {
        FirePostFailedEvent(e);
        CleanUp();
      }
    }
Example #19
0
        void GetRequestStream(HttpWebRequest request, Action<HttpResponse> callback)
        {
            request.BeginGetRequestStream(ar =>
                {
                    using (var stream = request.EndGetRequestStream(ar))
                    {
                        if (HasFiles)
                        {
                            WriteMultipartFormData(stream);
                        }
                        else // This is when we have a RequestBody
                        {
                            stream.Write(Encoding.UTF8.GetBytes(RequestBody), 0, RequestBody.Length);
                        }
                    }

                    GetHttpResponse(request, callback);
                }, null);
        }
Example #20
0
            /// <summary>
            /// Used by the worker thread to start the request
            /// </summary>
            public void Start()
            {
                try
                {
                    // Create the request
                    request = (HttpWebRequest)System.Net.WebRequest.Create(URL);
                    request.Method = Method;
                    request.Credentials = CredentialCache.DefaultCredentials;
                    request.Proxy = null;
                    request.KeepAlive = false;
                    request.Timeout = (int)Math.Round((Timeout == 0f ? WebRequests.Timeout : Timeout) * 1000f);
                    request.ServicePoint.MaxIdleTime = request.Timeout;
                    request.ServicePoint.Expect100Continue = ServicePointManager.Expect100Continue;
                    request.ServicePoint.ConnectionLimit = ServicePointManager.DefaultConnectionLimit;

                    // Optional request body for post requests
                    var data = new byte[0];
                    if (Body != null)
                    {
                        data = Encoding.UTF8.GetBytes(Body);
                        request.ContentLength = data.Length;
                        request.ContentType = "application/x-www-form-urlencoded";
                    }

                    if (RequestHeaders != null) request.SetRawHeaders(RequestHeaders);

                    // Perform DNS lookup and connect (blocking)
                    if (data.Length > 0)
                    {
                        request.BeginGetRequestStream(result =>
                        {
                            if (request == null) return;
                            try
                            {
                                // Write request body
                                using (var stream = request.EndGetRequestStream(result))
                                    stream.Write(data, 0, data.Length);
                            }
                            catch (Exception ex)
                            {
                                ResponseText = ex.Message.Trim('\r', '\n', ' ');
                                if (request != null) request.Abort();
                                OnComplete();
                                return;
                            }
                            WaitForResponse();
                        }, null);
                    }
                    else
                    {
                        WaitForResponse();
                    }
                }
                catch (Exception ex)
                {
                    ResponseText = ex.Message.Trim('\r', '\n', ' ');
                    Interface.Oxide.LogException(string.Format("Web request produced exception (Url: {0})", URL), ex);
                    if (request != null) request.Abort();
                    OnComplete();
                }
            }
Example #21
0
                public GetOutputStreamAsyncResult(HttpWebRequest httpWebRequest, HttpOutput httpOutput, AsyncCallback callback, object state)
                    : base(callback, state)
                {
                    this.httpWebRequest = httpWebRequest;
                    this.httpOutput = httpOutput;

                    IAsyncResult result = null;
                    try
                    {
                        result = httpWebRequest.BeginGetRequestStream(onGetRequestStream, this);
                    }
                    catch (WebException webException)
                    {
                        throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(HttpChannelUtilities.CreateRequestWebException(webException, httpWebRequest, httpOutput.abortReason));
                    }

                    if (result.CompletedSynchronously)
                    {
                        CompleteGetRequestStream(result);
                        base.Complete(true);
                    }
                }
        private void TransmitQueue()
        {
            int num_tracks_transmitted;

            // save here in case we're interrupted before we complete
            // the request.  we save it again when we get an OK back
            // from the server
            queue.Save();

            next_interval = DateTime.MinValue;

            if (post_url == null || !connected)
            {
                return;
            }

            StringBuilder sb = new StringBuilder();

            sb.AppendFormat("s={0}", session_id);

            sb.Append(queue.GetTransmitInfo(out num_tracks_transmitted));

            current_web_req = (HttpWebRequest)WebRequest.Create(post_url);
            current_web_req.UserAgent = LastfmCore.UserAgent;
            current_web_req.Method = "POST";
            current_web_req.ContentType = "application/x-www-form-urlencoded";
            current_web_req.ContentLength = sb.Length;

            //Console.WriteLine ("Sending {0} ({1} bytes) to {2}", sb.ToString (), sb.Length, post_url);

            TransmitState ts = new TransmitState();
            ts.Count = num_tracks_transmitted;
            ts.StringBuilder = sb;

            state = State.WaitingForRequestStream;
            current_async_result = current_web_req.BeginGetRequestStream(TransmitGetRequestStream, ts);
            if (!(current_async_result.AsyncWaitHandle.WaitOne(TIME_OUT, false)))
            {
                if (log.IsWarnEnabled)
                {
                    log.Warn("Audioscrobbler upload failed." + " The request timed out and was aborted");
                }
                next_interval = DateTime.Now + new TimeSpan(0, 0, RETRY_SECONDS);
                hard_failures++;
                state = State.Idle;

                current_web_req.Abort();
            }
        }
		private void WriteRequestBodyAsync(HttpWebRequest webRequest, Action<HttpResponse> callback)
		{
			IAsyncResult asyncResult;
			timeoutState = new TimeOutState { Request = webRequest };

			if (HasBody || HasFiles || HasBytes)
			{
#if !WINDOWS_PHONE
				webRequest.ContentLength = CalculateContentLength();
#endif
				asyncResult = webRequest.BeginGetRequestStream(result => RequestStreamCallback(result, callback), webRequest);
			}

			else
			{
				asyncResult = webRequest.BeginGetResponse(r => ResponseCallback(r, callback), webRequest);
			}

			SetTimeout(asyncResult, webRequest, timeoutState);
		}
            } // AsyncHttpClientRequestState

            internal void StartRequest()
            {
                WebRequest = _transportSink.SetupWebRequest(_msg, _requestHeaders);
                if (!_transportSink._useChunked)
                {
                    try
                    {
                        WebRequest.ContentLength = (int)RequestStream.Length;
                    }
                    catch
                    {
                        // swallow exception if RequestStream.Length throws; just
                        // means that WebRequest will have to buffer the stream.
                    }
                }
            
                // Chain of methods called is as follows:
                //  1. StartRequest (this one)
                //  2. ProcessGetRequestStreamCompletion
                //  3. ProcessAsyncCopyRequestStreamCompletion
                //  2. ProcessGetResponseCompletion
                //  3. ProcessAsyncCopyResponseStreamCompletion
            
                WebRequest.BeginGetRequestStream(s_processGetRequestStreamCompletionCallback, this);    
            } // StartRequest
 static void SetRequestAsync(HttpWebRequest request, FileContext context, byte[] content)
 {
     request.BeginGetRequestStream(new AsyncCallback(FileTestUtils.ReadCallback), request);
     setRequestAsyncSem.WaitOne();       
 }
Example #26
0
	    public NetResponse doRequest(String strMethod, String strUrl, String strBody, IRhoSession oSession, Hashtable<String, String> headers, long nRangePos = -1)
        {
            LOG.INFO("Url: " + strUrl + "; Body: " + strBody);
            m_respWaitEvent.WaitOne();
            m_respWaitEvent.Reset();

            m_oSession = oSession;
            m_strBody = strBody;
            m_strUrl = addUniqueParam(strUrl);
            m_headers = headers;
		
		    m_bCancel = false;

            closeConnection();
            m_webRequest = WebRequest.Create(m_strUrl) as HttpWebRequest;

            m_webRequest.CookieContainer = new CookieContainer();
            handleCookie(oSession);

            if ((strBody != null && strBody.length() > 0) || m_isPullFile || m_isMultiPart)
			{
                if (oSession != null)
                    m_webRequest.ContentType = oSession.getContentType();
                else if (m_isMultiPart)
                    m_webRequest.ContentType = "multipart/form-data; boundary=----------A6174410D6AD474183FDE48F5662FCC5";
                else if (m_isPullFile)
                {
                    if (nRangePos > 0)
                        m_webRequest.Headers["Range"] = "bytes=" + nRangePos.ToString() + "-";
                }
                else
                    m_webRequest.ContentType = "application/x-www-form-urlencoded";

				writeHeaders(headers);
                m_webRequest.Method = strMethod;

                if (!m_isPullFile)
                {
                    m_webRequest.BeginGetRequestStream(GetRequestStreamCallback, null);
                    m_reqWaitEvent.Reset();
                    m_reqWaitEvent.WaitOne();
                }
			}else
			{
				writeHeaders(headers);
                m_webRequest.Method = strMethod;
			}

            if(!m_isPullFile)
                m_webRequest.BeginGetResponse(GetResponseCallback, null);
            else
                m_webRequest.BeginGetResponse(GetPullFileCallback, null);

            m_respWaitEvent.Reset();
            m_respWaitEvent.WaitOne();

            m_isMultiPart = false;
            return makeResponse(m_strRespBody, m_code);
        }
Example #27
0
        protected virtual void ProcessRequestThen(
            MvxRestRequest restRequest,
            HttpWebRequest httpRequest,
            Action continueAction,
            Action<Exception> errorAction)
        {
            httpRequest.BeginGetRequestStream(result =>
                                              TryCatch(() =>
                                                  {
                                                      using (var stream = httpRequest.EndGetRequestStream(result))
                                                      {
                                                          restRequest.ProcessRequestStream(stream);
                                                          stream.Flush();
                                                      }

                                                      continueAction?.Invoke();
                                                  }, errorAction)
                                              , null);
        }
Example #28
0
 /// <summary>
 /// Gets BeginGetRequestStream implementation of the underlying HttpWebRequest class.
 /// </summary>
 public IAsyncResult BeginGetRequestStream(AsyncCallback callback, object state)
 {
     return(request.BeginGetRequestStream(callback, state));
 }
Example #29
0
        private void WriteRequestBodyAsync(HttpWebRequest webRequest, Action<HttpResponse> callback)
        {
            if (HasBody)
            {
            #if !WINDOWS_PHONE
                webRequest.ContentLength = RequestBody.Length;
            #endif

                webRequest.BeginGetRequestStream(result => RequestStreamCallback(result, callback), webRequest);
            }
            else
            {
                webRequest.BeginGetResponse(r => ResponseCallback(r, callback), webRequest);
            }
        }
        private void login(string pUsername, string pPassword, string pURL)
        {
            string requestString = pURL;

            loginInfo = new Dictionary<string, string>();
            loginInfo.Add("username", pUsername);
            loginInfo.Add("password", pPassword);
            //MessageBox.Show(loginInfo.ElementAt(0).Value);

            myRequest = (HttpWebRequest)WebRequest.Create(pURL);
            myRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705)";
            myRequest.Method = "POST";
            myRequest.ContentType = "application/x-www-form-urlencoded";
            myRequest.BeginGetRequestStream(new AsyncCallback(GetRequestStreamCallback), myRequest);
        }
        public void DownloadStringAsyncWithPost(HttpWebRequest request, string postData)
        {
            _webRequest = request;
            _webRequest.Method = "POST";
            _webRequest.AllowReadStreamBuffering = true;

            try
            {
                _webRequest.BeginGetRequestStream(BeginRequest, Encoding.UTF8.GetBytes(postData));
            }
            catch (SystemException)
            {
                // Bad news bears.
            }

#if DEBUG && TRACKING_TIME
            StartTimeTracking();
#endif
        }
Example #32
0
 /// <summary>
 /// 准备请求的 内容 数据   ===  异步
 /// </summary>
 /// <param name="webRequest">HttpWebRequest请求</param>
 protected virtual void SendBodyDataAsyncAndCallBack(HttpWebRequest webRequest, IHttpRequest request,
     Action<IHttpResponse> callback)
 {
     if (request.HttpMothed == HttpMothed.POST && request.FormParameters.Count > 0 || request.HasFile)
     {
         if (!request.HasFile)
         {
             webRequest.ContentLength = _defaultEncoding.GetByteCount(EncodeFormParameters(request));
         }
         webRequest.BeginGetRequestStream(ar => RquestStreamCallBack(ar, request, callback), webRequest);
     }
     else
     {
         webRequest.BeginGetResponse(ar => ResponseCallBackAsync(ar, callback), webRequest);
     }
 }
Example #33
0
		private void WriteRequestBodyAsync(HttpWebRequest webRequest, Action<HttpResponse> callback)
		{
			IAsyncResult asyncResult;
			_timeoutState = new TimeOutState { Request = webRequest };

			if (HasBody || HasFiles || AlwaysMultipartFormData)
			{
				webRequest.ContentLength = CalculateContentLength();
				asyncResult = webRequest.BeginGetRequestStream(result => RequestStreamCallback(result, callback), webRequest);
			}

			else
			{
				asyncResult = webRequest.BeginGetResponse(r => ResponseCallback(r, callback), webRequest);
			}

			SetTimeout(asyncResult, _timeoutState);
		}
Example #34
0
 private void PostForm()
 {
   this.Request = (HttpWebRequest)WebRequest.Create(this.BaseUrl + this.RelUrl);
   Request.Method = "POST";
   Request.ContentType = "application/x-www-form-urlencoded";
   Request.BeginGetRequestStream(this.RequestCallback, Request);
 }