GetRequestStream() public method

public GetRequestStream ( ) : Stream
return Stream
Esempio n. 1
2
 private static void InsertSoapEnvelopeIntoWebRequest(XmlDocument soapEnvelopeXml, HttpWebRequest webRequest)
 {
     using (Stream stream = webRequest.GetRequestStream())
     {
         soapEnvelopeXml.Save(stream);
     }
 }
Esempio n. 2
1
        public void SendRequest(HttpWebRequest request)
        {
            int index = 0, size = 0;
            byte[][] data = new byte[Count * 2][];
            foreach (string key in AllKeys)
            {
                data[index] = HttpUtility.UrlEncodeToBytes(key);
                size += data[index++].Length;

                data[index] = HttpUtility.UrlEncodeToBytes(this[key]);
                size += data[index++].Length;
            }

            request.ContentType = "application/x-www-form-urlencoded";
            request.ContentLength = size + Count * 2 - 1;

            using (Stream requestStream = request.GetRequestStream())
            {
                for (int i = 0; i < data.Length; i++)
                {
                    byte[] buff = data[i];
                    requestStream.Write(buff, 0, buff.Length);
                    if (i < data.Length - 1)
                        requestStream.WriteByte(SeparatorBytes[i % 2]);
                }
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Adds the XML to web request. The XML is the standard
        /// XML used by RPC-XML requests.
        /// </summary>
        private static void AddXmlToRequest(Uri sourceUrl, Uri targetUrl, HttpWebRequest webreqPing)
        {
            Stream stream = (Stream)webreqPing.GetRequestStream();
              using (XmlTextWriter writer = new XmlTextWriter(stream, Encoding.ASCII))
              {
            writer.WriteStartDocument(true);
            writer.WriteStartElement("methodCall");
            writer.WriteElementString("methodName", "pingback.ping");
            writer.WriteStartElement("params");

            writer.WriteStartElement("param");
            writer.WriteStartElement("value");
            writer.WriteElementString("string", sourceUrl.ToString());
            writer.WriteEndElement();
            writer.WriteEndElement();

            writer.WriteStartElement("param");
            writer.WriteStartElement("value");
            writer.WriteElementString("string", targetUrl.ToString());
            writer.WriteEndElement();
            writer.WriteEndElement();

            writer.WriteEndElement();
            writer.WriteEndElement();
              }
        }
Esempio n. 4
0
        public string EjecutarAccion(string url, string metodo, object modelo = null)
        {
            request = WebRequest.Create(url) as HttpWebRequest;
            request.Timeout = 10 * 1000;
            request.Method = metodo;
            request.ContentType = "application/json; charset=utf-8";

            string credentials = Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes(usuario + ":" + clave));
            request.Headers.Add("Authorization", "Basic " + credentials);

            if (modelo != null)
            {
                var postString = new JavaScriptSerializer().Serialize(modelo);
                byte[] data = UTF8Encoding.UTF8.GetBytes(postString);
                request.ContentLength = data.Length;
                Stream postStream = request.GetRequestStream();
                postStream.Write(data, 0, data.Length);
            }
            HttpWebResponse response = request.GetResponse() as HttpWebResponse;
            if (response.StatusCode != HttpStatusCode.NoContent)
            {
                StreamReader reader = new StreamReader(response.GetResponseStream());
                return reader.ReadToEnd();
            }

            return "";
        }
Esempio n. 5
0
 /// <summary>
 /// Http Post 获取网页内容
 /// </summary>
 /// <param name="TheURL">url</param>
 /// <param name="postData">postData</param>
 /// <returns></returns>
 public static string PostUrlData(string TheURL, string postData)
 {
     try
     {
         Uri    uri  = new Uri(TheURL);
         byte[] data = Encoding.UTF8.GetBytes(postData);
         System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(uri);
         request.Method            = "POST";
         request.ContentType       = "application/x-www-form-urlencoded";
         request.AllowAutoRedirect = false;
         request.Timeout           = 5000;
         request.ContentLength     = data.Length;
         Stream newStream = request.GetRequestStream();
         newStream.Write(data, 0, data.Length);
         newStream.Close();
         //
         System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();
         Stream       responseStream         = response.GetResponseStream();
         StreamReader readStream             = new StreamReader(responseStream, System.Text.Encoding.UTF8);
         string       retext = readStream.ReadToEnd().ToString();
         readStream.Close();
         return(retext);
     }
     catch (Exception ex)
     {
         return(ex.ToString());
     }
 }
Esempio n. 6
0
    /// <summary>
    /// 发送企业会话信息
    /// </summary>
    /// <param name="access_token">企业access_token</param>
    /// <param name="userids">接受信息的人</param>
    public void sendmessage(string access_token, string userids)
    {
        userids = "01182620601252645|056859204529950662";
        string users = userids;
        string json  = "{\"touser\":\"01182620601252645|056859204529950662\",\"agentid\":\"41866347\",\"msgtype\":\"text\",\"text\":{\"content\":\"测试发送企业会话消息\"}}";

        byte[] byteArray = Encoding.UTF8.GetBytes(json);
        string content   = "{'content':'测试发送企业会话消息'}";
        string url       = "https://oapi.dingtalk.com/message/send?access_token=" + access_token;

        try
        {
            Uri uri = new Uri(url);
            System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(uri);
            request.Method            = "POST";
            request.ContentType       = "application/json";
            request.AllowAutoRedirect = false;
            request.Timeout           = 5000;
            request.ContentLength     = byteArray.Length;
            Stream newStream = request.GetRequestStream();
            newStream.Write(byteArray, 0, byteArray.Length); //写入参数
            newStream.Close();
            System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();
            Stream       responseStream         = response.GetResponseStream();
            StreamReader readStream             = new StreamReader(responseStream, System.Text.Encoding.UTF8);
            string       departmentjson         = readStream.ReadToEnd().ToString();
            readStream.Close();
        }
        catch (Exception ex)
        {
            ex.ToString();
        }
    }
Esempio n. 7
0
    /// <summary>
    /// urlAction
    /// </summary>
    /// <param name="url"></param>
    /// <returns></returns>
    private string UrlAction(string url)
    {
        string backMsg = "";

        try
        {
            System.Net.HttpWebRequest httpRquest = System.Net.HttpWebRequest.CreateHttp(url);
            httpRquest.Method = "POST";
            //httpRquest.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";
            System.IO.Stream requestStream = httpRquest.GetRequestStream();

            System.Net.WebResponse response       = httpRquest.GetResponse();
            System.IO.Stream       responseStream = response.GetResponseStream();
            System.IO.StreamReader reader         = new System.IO.StreamReader(responseStream, System.Text.Encoding.UTF8);
            backMsg = reader.ReadToEnd();

            reader.Close();
            reader.Dispose();

            requestStream.Close();
            requestStream.Dispose();
            responseStream.Close();
            responseStream.Dispose();
            //{"data":{"accessToken":"at.6rsjqr08aeiccexsc1jol8ql9rrx3wgo-3r89kctbjv-15mpaot-ur746icrn","expireTime":1497572707259},"code":"200","msg":"操作成功!"}
            return(backMsg);
        }
        catch (Exception)
        {
            return("");
        }
    }
Esempio n. 8
0
        private static void WriteMultipartBodyToRequest(HttpWebRequest request, string body)
        {
            string[] multiparts = Regex.Split(body, @"<!>");
            byte[] bytes;
            using (MemoryStream ms = new MemoryStream())
            {
                foreach (string part in multiparts)
                {
                    if (File.Exists(part))
                    {
                        bytes = File.ReadAllBytes(part);
                    }
                    else
                    {
                        bytes = System.Text.Encoding.UTF8.GetBytes(part.Replace("\r\n", "\n").Replace("\r", "\n").Replace("\n", "\r\n"));
                    }

                    ms.Write(bytes, 0, bytes.Length);
                }

                request.ContentLength = ms.Length;
                using (Stream stream = request.GetRequestStream())
                {
                    ms.WriteTo(stream);
                }
            }
        }
Esempio n. 9
0
        public static string UploadString(HttpWebRequest request, string Data, CookieCollection Cookies)
        {
            string ret = "";
            request.CookieContainer = new CookieContainer();
            foreach (Cookie cookie in Cookies)
                request.CookieContainer.Add(cookie);

            //request.Headers = Headers;
            HttpWebResponse res;
            request.Method = "POST";
            
            //request.ContentLength = Data.Length;
            using (Stream s = request.GetRequestStream())
            {
                using (StreamWriter sw = new StreamWriter(s))
                {
                    sw.Write(Data);
                    //s.Close();
                    sw.Close();
                }
            }
            ret = GetString(request, out res);

            return ret;        
        }
Esempio n. 10
0
        private void DoRequest(string url, string postData) {
            _request = (HttpWebRequest)WebRequest.Create("http://localhost" + url);
            _request.CookieContainer = _cookieContainer;
            if (postData != null) {
                _request.Method = "POST";
                _request.ContentType = "application/x-www-form-urlencoded";
                using (var stream = _request.GetRequestStream()) {
                    using (var writer = new StreamWriter(stream)) {
                        writer.Write(postData);
                    }
                }
            }
            try {
                _response = (HttpWebResponse)_request.GetResponse();
            }
            catch (WebException ex) {
                _response = (HttpWebResponse)ex.Response;
            }

            using (var stream = _response.GetResponseStream()) {
                using (var reader = new StreamReader(stream)) {
                    _text = reader.ReadToEnd();
                }
            }
        }
Esempio n. 11
0
 public static string GetResponse(HttpWebRequest req, byte[] bytes)
 {
     try
     {
         using (Stream stream = req.GetRequestStream())
         {
             stream.Write(bytes, 0, bytes.Length);
         }
         using (HttpWebResponse res = req.GetResponse() as HttpWebResponse)
         {
             if (res.StatusCode == HttpStatusCode.OK)
             {
                 using (Stream stream = res.GetResponseStream())
                 {
                     using (StreamReader reader = new StreamReader(stream))
                     {
                         return reader.ReadToEnd();
                     }
                 }
             }
             else
             {
                 string message = String.Format("POST failed. Received HTTP {0}", res.StatusCode);
                 throw new ApplicationException(message);
             }
         }
     }
     catch(WebException e)
     {
         throw new RestHostMissingException(e);
     }
 }
Esempio n. 12
0
        protected CookieContainer GetCookie(HttpWebRequest request, CookieContainer cc, byte[] content)
        {
            if (cc != null)
            {
                request.CookieContainer = cc;
            }
            else
            {
                request.CookieContainer = new CookieContainer();
                cc = request.CookieContainer;
            }

            try
            {
                Stream stream = request.GetRequestStream();
                stream.Write(content, 0, content.Length);
                stream.Close();
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                response.Cookies = request.CookieContainer.GetCookies(request.RequestUri);
                //CookieCollection cook = response.Cookies;
                string CookiesString = request.CookieContainer.GetCookieHeader(request.RequestUri);
                // TODO  save cookiesstring to xml file
            }
            catch (WebException wex)
            {
                // TODO Log
            }
            catch (Exception ex)
            {
                // TODO log
            }
            return cc;
        }
Esempio n. 13
0
        private Result RequestAndRespond(HttpWebRequest request, string content)
        {
            HttpStatusCode statusCode = HttpStatusCode.NotFound;

            try
            {
                var contentBytes = Encoding.UTF8.GetBytes(content);
                request.ContentLength = contentBytes.Length;
                using (var stream = request.GetRequestStream())
                {
                    stream.Write(contentBytes, 0, contentBytes.Length);
                }

                using (var response = request.GetResponse() as HttpWebResponse)
                {
                    statusCode = HttpClient.GetStatusCode(response);
                }
            }
            catch (WebException webException)
            {
                var response = webException.Response as HttpWebResponse;
                statusCode = HttpClient.GetStatusCode(response);
            }

            return HttpStatusCodeExtensions.ToResult(statusCode);
        }
Esempio n. 14
0
        public Login(string Username, string Password)
        {
            string url = string.Format("http://www.myfitnesspal.com/account/login");
            request = (HttpWebRequest)WebRequest.Create(url);

            request.AllowAutoRedirect = false;
            request.CookieContainer = new CookieContainer();

            request.Method = "POST";
            request.ContentType = "application/x-www-form-urlencoded";
            string NewValue = string.Format("username={0}&password={1}&remember_me=1",Username,Password);
            request.ContentLength = NewValue.Length;
            // Write the request
            StreamWriter stOut = new StreamWriter(request.GetRequestStream(), System.Text.Encoding.ASCII);
            stOut.Write(NewValue);
            stOut.Close();
            // Do the request to get the response
            response = (HttpWebResponse)request.GetResponse();
            StreamReader stIn = new StreamReader(response.GetResponseStream());

            string strResponse = stIn.ReadToEnd();
            stIn.Close();

            cookies = request.CookieContainer;
            response.Close();
        }
Esempio n. 15
0
        void HeartBeatHandler() {
            while( true ) {
                try {
                    request = (HttpWebRequest)WebRequest.Create( URL );
                    request.Method = "POST";
                    request.Timeout = 15000; // 15s timeout
                    request.ContentType = "application/x-www-form-urlencoded";
                    request.CachePolicy = new System.Net.Cache.RequestCachePolicy( System.Net.Cache.RequestCacheLevel.NoCacheNoStore );
                    byte[] formData = Encoding.ASCII.GetBytes( staticData + "&users=" + world.GetPlayerCount() );
                    request.ContentLength = formData.Length;

                    using( Stream requestStream = request.GetRequestStream() ) {
                        requestStream.Write( formData, 0, formData.Length );
                        requestStream.Flush();
                    }

                    if( !hasReportedServerURL ) {
                        using( WebResponse response = request.GetResponse() ) {
                            using( StreamReader responseReader = new StreamReader( response.GetResponseStream() ) ) {
                                world.config.ServerURL = responseReader.ReadToEnd().Trim();
                            }
                        }
                        request.Abort();
                        hash = world.config.ServerURL.Substring( world.config.ServerURL.LastIndexOf( '=' ) + 1 );
                        world.FireURLChange( world.config.ServerURL );
                        hasReportedServerURL = true;
                    }

                } catch( Exception ex ) {
                    world.log.Log( "HeartBeat: {0}", LogType.Error, ex.Message );
                }

                try {
                    request = (HttpWebRequest)WebRequest.Create( fListURL );
                    request.Method = "POST";
                    request.Timeout = 15000; // 15s timeout
                    request.ContentType = "application/x-www-form-urlencoded";
                    request.CachePolicy = new System.Net.Cache.RequestCachePolicy( System.Net.Cache.RequestCacheLevel.NoCacheNoStore );
                    string requestString = staticData +
                                            "&users=" + world.GetPlayerCount() +
                                            "&hash=" + hash +
                                            "&motd=" + Server.UrlEncode( world.config.GetString( "MOTD" ) ) +
                                            "&server=fcraft" +
                                            "&players=" + world.GetPlayerListString();
                    byte[] formData = Encoding.ASCII.GetBytes( requestString );
                    request.ContentLength = formData.Length;

                    using( Stream requestStream = request.GetRequestStream() ) {
                        requestStream.Write( formData, 0, formData.Length );
                        requestStream.Flush();
                    }
                    request.Abort();
                } catch( Exception ex ) {
                    world.log.Log( "HeartBeat: Error reporting to fList: {0}", LogType.Error, ex.Message );
                }

                Thread.Sleep( Config.HeartBeatDelay );
            }
        }
Esempio n. 16
0
 private HttpWebResponse handleValidResponse(HttpWebRequest request, byte[] bytes)
 {
     using (var newStream = request.GetRequestStream()) {
         newStream.Write(bytes, 0, bytes.Length);
         newStream.Close();
     }
     return (HttpWebResponse) request.GetResponse();
 }
Esempio n. 17
0
 void InputPostData(string postData, HttpWebRequest req)
 {
     byte[] data = Encoding.ASCII.GetBytes(postData);
       req.ContentLength = data.Length;
       using (var input = req.GetRequestStream()) {
     input.Write(data, 0, data.Length);
       }
 }
 /////////////////////////////////////////////////////////////////////////////////////////////////////////
 public static void addRequestBody(HttpWebRequest request, string requestBody)
 {
     // create byte array out of request body and add to the request object
     byte[] body = System.Text.Encoding.UTF8.GetBytes (requestBody);
     Stream dataStream = request.GetRequestStream ();
     dataStream.Write (body, 0, requestBody.Length);
     dataStream.Close ();
 }
Esempio n. 19
0
File: Utils.cs Progetto: hsiun/yoyo
 public static void CopyFile(HttpWebRequest request, string file)
 {
     FileStream fileStream = File.OpenRead(file);
     Stream rs = request.GetRequestStream();
     Utils.CopyNBit (rs, fileStream, fileStream.Length);
     fileStream.Close ();
     rs.Close ();
 }
        public static void CopyTo(this HttpRequestBase source, HttpWebRequest destination)
        {
            destination.Method = source.HttpMethod;

            // Copy unrestricted headers (including cookies, if any)
            foreach (var headerKey in source.Headers.AllKeys)
            {
                switch (headerKey)
                {
                    case "Connection":
                    case "Cache-Control":
                    case "Content-Length":
                    case "Date":
                    case "Expect":
                    case "Host":
                    case "If-Modified-Since":
                    case "If-None-Match":
                    case "Range":
                    case "Transfer-Encoding":
                    case "Proxy-Connection":
                        // Let IIS handle these
                        break;

                    case "Accept":
                    case "Content-Type":
                    case "Referer":
                    case "User-Agent":
                        // Restricted - copied below
                        break;

                    default:
                        destination.Headers[headerKey] = source.Headers[headerKey];
                        break;
                }
            }

            // Copy restricted headers
            if (source.AcceptTypes.Any())
            {
                destination.Accept = string.Join(",", source.AcceptTypes);
            }
            destination.ContentType = source.ContentType;
            if (source.UrlReferrer != null)
            {
                destination.Referer = source.UrlReferrer.AbsoluteUri;
            }
            destination.UserAgent = source.UserAgent;

            // Copy content (if content body is allowed)
            if (source.HttpMethod != "GET"
                && source.HttpMethod != "HEAD"
                && source.ContentLength > 0)
            {
                var destinationStream = destination.GetRequestStream();
                source.InputStream.CopyTo(destinationStream);
                destinationStream.Close();
            }
        }
Esempio n. 21
0
        private static void submit(HttpWebRequest request, string data)
        {
            byte[] byteData = UTF8Encoding.UTF8.GetBytes(data.ToString());

            using (Stream postStream = request.GetRequestStream())
            {
                postStream.Write(byteData, 0, byteData.Length);
            }
        }
Esempio n. 22
0
        public static void Put(HttpWebRequest webRequest, string sContent)
        {
            webRequest.Method = "PUT";
            Stream requestStream = webRequest.GetRequestStream();
            StreamWriter mywriter = new StreamWriter(requestStream);

            mywriter.Write(sContent);
            mywriter.Close();
        }
Esempio n. 23
0
        void Action(HttpWebRequest request, HttpOptions options)
        {
            request.Method = "post";

            using (TextWriter writer = new StreamWriter(request.GetRequestStream()))
            {
                var json = _jsonSerializer.ToJson(options.AdditionalOptions.query);
                writer.Write(json);
            }
        }
Esempio n. 24
0
 private void AddBody(HttpWebRequest httpRequest, HttpContentType contentType, Payload payload)
 {
     using (var body = contentType.Format(payload)) {
         httpRequest.ContentLength = body.ContentLength;
         httpRequest.ContentType = body.ContentType;
         using (var outStream = httpRequest.GetRequestStream()) {
             Copy(body.Open(), outStream);
         }
     }
 }
        private void BuildReqStream(ref HttpWebRequest webrequest)
        {
            byte[] bytes = Encoding.ASCII.GetBytes(Request);

            webrequest.ContentLength = bytes.Length;

            Stream oStreamOut = webrequest.GetRequestStream();
            oStreamOut.Write(bytes, 0, bytes.Length);
            oStreamOut.Close();
        }
Esempio n. 26
0
		private void createReq()
		{
			currentReq = WebRequest.CreateHttp(Uri);
			currentReq.Timeout = Settings.Timeout;
			currentReq.Method = "POST";
			currentReq.SendChunked = true;

			req = new StreamWriter(currentReq.GetRequestStream());
			timer.Change(Settings.Timeout, System.Threading.Timeout.Infinite);
		}
Esempio n. 27
0
 private void AddBody(HttpWebRequest request, string nodeData)
 {
     request.ContentType = "application/json";
     byte[] bytes = Encoding.UTF8.GetBytes(nodeData);
     request.ContentLength = bytes.Length;
     using (var reqStream = request.GetRequestStream())
     {
         reqStream.Write(bytes, 0, bytes.Length);
     }
 }
 private void HandlePost(ref HttpWebRequest webRequest)
 {
     using (var dataStream = webRequest.GetRequestStream())
     {
         var ms = new MemoryStream();
         Context.Request.InputStream.CopyTo(ms);
         var array = ms.ToArray();
         dataStream.Write(array, 0, array.Length);
     }
 }
        private void writeDataToRequest(ref HttpWebRequest request, string data)
        {
            byte[] dataBuffer = System.Text.Encoding.ASCII.GetBytes(data);
            request.ContentLength = dataBuffer.Length;

            using (System.IO.Stream dataStream = request.GetRequestStream())
            {
                dataStream.Write(dataBuffer, 0, dataBuffer.Length);
            }
        }
        public void WriteParameters(ref HttpWebRequest request, JObject postData)
        {
            var bytes = Encoding.GetEncoding("UTF-8").GetBytes(postData.ToString());
            request.ContentLength = bytes.Length;

            using (Stream stream = request.GetRequestStream())
            {
                stream.Write(bytes, 0, bytes.Length);
            }
        }
Esempio n. 31
0
        private static void WriteRequest(string parameters, HttpWebRequest request)
        {
            if (string.IsNullOrEmpty(parameters)) return;

            using (var requestWriter = new StreamWriter(request.GetRequestStream(),
                                                        System.Text.Encoding.ASCII))
            {
                requestWriter.Write(parameters);
            }
        }
Esempio n. 32
0
 protected void SendBody(HttpWebRequest request, string requestBody)
 {
     if (requestBody.Length > 0)
     {
         using (Stream requestStream = request.GetRequestStream())
         using (StreamWriter writer = new StreamWriter(requestStream))
         {
             writer.Write(requestBody);
         }
     }
 }
Esempio n. 33
0
 /// <summary>
 /// TOP API POST 请求
 /// </summary>
 /// <param name="url">请求容器URL</param>
 /// <param name="appkey">AppKey</param>
 /// <param name="appSecret">AppSecret</param>
 /// <param name="method">API接口方法名</param>
 /// <param name="session">调用私有的sessionkey</param>
 /// <param name="param">请求参数</param>
 /// <returns>返回字符串</returns>
 public static string Post(string url, string appkey, string appSecret, string method, string session,
                           IDictionary <string, string> param)
 {
     #region -----API系统参数----
     param.Add("app_key", appkey);
     param.Add("method", method);
     param.Add("session", session);
     param.Add("timestamp", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
     param.Add("format", "xml");
     param.Add("v", "2.0");
     param.Add("sign_method", "md5");
     param.Add("sign", CreateSign(param, appSecret));
     #endregion
     string result = string.Empty;
     #region ---- 完成 HTTP POST 请求----
     System.Net.HttpWebRequest req = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
     req.Method      = "POST";
     req.KeepAlive   = true;
     req.Timeout     = 300000;
     req.ContentType = "application/x-www-form-urlencoded;charset=utf-8";
     byte[] postData  = Encoding.UTF8.GetBytes(PostData(param));
     Stream reqStream = req.GetRequestStream();
     reqStream.Write(postData, 0, postData.Length);
     reqStream.Close();
     System.Net.HttpWebResponse rsp = (System.Net.HttpWebResponse)req.GetResponse();
     Encoding     encoding          = Encoding.GetEncoding(rsp.CharacterSet);
     Stream       stream            = null;
     StreamReader reader            = null;
     stream = rsp.GetResponseStream();
     reader = new StreamReader(stream, encoding);
     result = reader.ReadToEnd();
     if (reader != null)
     {
         reader.Close();
     }
     if (stream != null)
     {
         stream.Close();
     }
     if (rsp != null)
     {
         rsp.Close();
     }
     #endregion
     return(Regex.Replace(result, @"[\x00-\x08\x0b-\x0c\x0e-\x1f]", ""));
 }
Esempio n. 34
0
    protected void Page_Load(object sender, EventArgs e)
    {
        string username         = "******";
        string password         = "******";
        string usernamePassword = username + ":" + password;

        string url        = "http://api.t.sina.com.cn/statuses/update.json";
        string news_title = "VS2010网剧合集:讲述程序员的爱情故事";
        int    news_id    = 62747;
        string t_news     = string.Format("{0},http://news.cnblogs.com/n/{1}/", news_title, news_id);
        string data       = "source=3854961754&status=" + System.Web.HttpUtility.UrlEncode(t_news);

        System.Net.WebRequest     webRequest  = System.Net.WebRequest.Create(url);
        System.Net.HttpWebRequest httpRequest = webRequest as System.Net.HttpWebRequest;

        System.Net.CredentialCache myCache = new System.Net.CredentialCache();
        myCache.Add(new Uri(url), "Basic", new System.Net.NetworkCredential(username, password));
        httpRequest.Credentials = myCache;
        httpRequest.Headers.Add("Authorization", "Basic " +
                                Convert.ToBase64String(new System.Text.ASCIIEncoding().GetBytes(usernamePassword)));


        httpRequest.Method      = "POST";
        httpRequest.ContentType = "application/x-www-form-urlencoded";
        System.Text.Encoding encoding = System.Text.Encoding.ASCII;
        byte[] bytesToPost            = encoding.GetBytes(data);
        httpRequest.ContentLength = bytesToPost.Length;
        System.IO.Stream requestStream = httpRequest.GetRequestStream();
        requestStream.Write(bytesToPost, 0, bytesToPost.Length);
        requestStream.Close();

        System.Net.WebResponse wr            = httpRequest.GetResponse();
        System.IO.Stream       receiveStream = wr.GetResponseStream();
        using (System.IO.StreamReader reader = new System.IO.StreamReader(receiveStream, System.Text.Encoding.UTF8))
        {
            string responseContent = reader.ReadToEnd();
            Response.Write(responseContent);
        }
    }
Esempio n. 35
0
    public string SendSMS(string PostData)
    {
        string Result = string.Empty;

        #region 发送 接收
        try
        {
            byte[] SendBytes = Encoding.UTF8.GetBytes(PostData);
            System.Net.HttpWebRequest request = System.Net.HttpWebRequest.Create("http://115.29.206.137:8081/myservice.asmx/SendSMS") as System.Net.HttpWebRequest;
            request.Method        = "POST";
            request.ContentType   = "application/x-www-form-urlencoded";
            request.ContentLength = SendBytes.Length;

            using (System.IO.Stream newStream = request.GetRequestStream())
            {
                newStream.Write(SendBytes, 0, SendBytes.Length);
                newStream.Close();
            }

            using (System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse())
            {
                using (System.IO.StreamReader readStream = new System.IO.StreamReader(response.GetResponseStream(), Encoding.UTF8))
                {
                    Result = readStream.ReadToEnd();
                    readStream.Close();
                    readStream.Dispose();
                }
                response.Close();
            }
        }
        catch
        { }
        #endregion

        return(Result);
    }
Esempio n. 36
0
        public static string ErrorTransferXML(string strXML)
        {
            try
            {
                System.IO.FileStream file = new System.IO.FileStream(strXML, System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.Read);
                file.Seek(0, System.IO.SeekOrigin.Begin);
                int    iLen = (int)file.Length;
                byte[] data = new byte[iLen];
                file.Read(data, 0, iLen);
                file.Close();

                string strURI = NCServer;
                System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(strURI);
                if (request == null)
                {
                    return("连接NC服务器失败");
                }
                request.Method        = "POST";
                request.ContentType   = "text/xml; charset=gb2312";
                request.ContentLength = iLen;

                try
                {
                    System.IO.Stream postDataStream = request.GetRequestStream();
                    postDataStream.Write(data, 0, iLen);
                    postDataStream.Close();
                }
                catch (Exception e)
                {
                    return(e.Message.ToString());
                }

                //Get answer
                System.Net.HttpWebResponse resp;
                try
                {
                    resp = (HttpWebResponse)request.GetResponse();
                }
                catch (WebException err)
                {
                    resp = (HttpWebResponse)err.Response;
                    if (resp == null)
                    {
                        return(err.Message.ToString());;
                    }
                }
                catch (Exception err)
                {
                    return(err.Message.ToString());;
                }


                Stream rcvStream = resp.GetResponseStream();
                byte[] respBytes = new byte[256];
                int    byteCount;

                StringBuilder builder = new StringBuilder();
                do
                {
                    byteCount = rcvStream.Read(respBytes, 0, 256);
                    System.Text.Encoding encoding = System.Text.Encoding.UTF8;
                    string inputString            = encoding.GetString(respBytes);
                    builder.Append(inputString);
                } while (byteCount > 0);

                XmlDocument doc    = new XmlDocument();
                string      xmlRet = builder.ToString();
                int         iPos   = xmlRet.IndexOf(@"</ufinterface>");
                xmlRet = xmlRet.Substring(0, iPos + ((string)@"</ufinterface>").Length);
                doc.LoadXml(xmlRet);

                string tok        = XmlGetElement(doc, "resultcode");
                string resultCont = XmlGetElement(doc, "resultdescription");
                resultCont = resultCont.Replace("\r\n", "");
                resultCont = resultCont.Replace("\t", "");
                resp.Close();
                rcvStream.Close();

                //返回正确写日志,否则丢弃
                if (!tok.Equals("1"))
                {
                    return(resultCont);
                }
                else
                {
                    return("1");
                }
            }
            catch (Exception e)
            {
                return(e.ToString());
            }
        }
Esempio n. 37
0
        private bool TransferXML(string strXML, string strHeatID, string strType, string strXslt)
        {
            try
            {
                System.IO.FileStream file = new System.IO.FileStream(strXML, System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.Read);
                file.Seek(0, System.IO.SeekOrigin.Begin);
                int    iLen = (int)file.Length;
                byte[] data = new byte[iLen];
                file.Read(data, 0, iLen);
                file.Close();

                string strURI = Properties.Settings.Default.NCServer;
                System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(strURI);
                if (request == null)
                {
                    dsLog.Clear();
                    DataRow row = dsLog.Tables[0].NewRow();
                    row["HeatID"]   = strHeatID;
                    row["BillType"] = strXslt;
                    row["Other1"]   = strType;
                    row["Flag"]     = "1";
                    row["Remark"]   = "访问NC服务器失败";
                    dsLog.Tables[0].Rows.Add(row);
                    WtritReturnLogFromNC(dsLog);
                    return(false);
                }
                request.Method        = "POST";
                request.ContentType   = "text/xml; charset=gb2312";
                request.ContentLength = iLen;
                request.Timeout       = 500000; // 500秒

                try
                {
                    System.IO.Stream postDataStream = request.GetRequestStream();
                    postDataStream.Write(data, 0, iLen);
                    postDataStream.Close();
                }
                catch (Exception e)
                {
                    //MessageBox.Show(e.Message);
                    //string strRet = e.Message.ToString();
                    //writelog(strRet);

                    dsLog.Clear();
                    DataRow row = dsLog.Tables[0].NewRow();
                    row["HeatID"]   = strHeatID;
                    row["BillType"] = strXslt;
                    row["Other1"]   = strType;
                    row["Flag"]     = "1";
                    row["Remark"]   = e.Message.ToString();
                    dsLog.Tables[0].Rows.Add(row);
                    WtritReturnLogFromNC(dsLog);

                    return(false);
                }

                //Get answer
                System.Net.HttpWebResponse resp;
                try
                {
                    resp = (HttpWebResponse)request.GetResponse();
                }
                catch (WebException err)
                {
                    //MessageBox.Show(err.Status + " - " + err.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    //string strRet = err.Message.ToString();
                    //writelog(strRet);

                    resp = (HttpWebResponse)err.Response;
                    if (resp == null)
                    {
                        dsLog.Clear();
                        DataRow row = dsLog.Tables[0].NewRow();
                        row["HeatID"]   = strHeatID;
                        row["BillType"] = strXslt;
                        row["Other1"]   = strType;
                        row["Flag"]     = "1";
                        row["Remark"]   = err.Message.ToString();
                        dsLog.Tables[0].Rows.Add(row);
                        WtritReturnLogFromNC(dsLog);

                        return(false);
                    }
                }
                catch (Exception err)
                {
                    //MessageBox.Show("Error: " + err.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    //string strRet = err.Message.ToString();
                    //writelog(strRet);
                    dsLog.Clear();
                    DataRow row = dsLog.Tables[0].NewRow();
                    row["HeatID"]   = strHeatID;
                    row["BillType"] = strXslt;
                    row["Other1"]   = strType;
                    row["Flag"]     = "1";
                    row["Remark"]   = err.Message.ToString();
                    dsLog.Tables[0].Rows.Add(row);
                    WtritReturnLogFromNC(dsLog);

                    return(false);
                }


                Stream rcvStream = resp.GetResponseStream();
                byte[] respBytes = new byte[256];
                int    byteCount;

                StringBuilder builder = new StringBuilder();
                do
                {
                    byteCount = rcvStream.Read(respBytes, 0, 256);
                    System.Text.Encoding encoding = System.Text.Encoding.UTF8;
                    string inputString            = encoding.GetString(respBytes);
                    builder.Append(inputString);
                } while (byteCount > 0);

                XmlDocument doc    = new XmlDocument();
                string      xmlRet = builder.ToString();
                int         iPos   = xmlRet.IndexOf(@"</ufinterface>");
                xmlRet = xmlRet.Substring(0, iPos + ((string)@"</ufinterface>").Length);
                doc.LoadXml(xmlRet);

                string tok        = XmlGetElement(doc, "resultcode");
                string resultCont = XmlGetElement(doc, "resultdescription");
                resultCont = resultCont.Replace("\r\n", "");
                resultCont = resultCont.Replace("\t", "");
                resp.Close();
                rcvStream.Close();

                //返回正确写日志,否则丢弃
                if (!tok.Equals("1"))
                {
                    //MessageBox.Show(string.Format("调用NC接口错误!{0}\r{1}", tok, resultCont));
                    //string strRet = "调用NC接口错误:" + resultCont;
                    //writelog(strRet);
                    dsLog.Clear();
                    DataRow row = dsLog.Tables[0].NewRow();
                    row["HeatID"]   = strHeatID;
                    row["BillType"] = strXslt;
                    row["Other1"]   = strType;
                    row["Flag"]     = "1";
                    row["Remark"]   = resultCont;
                    dsLog.Tables[0].Rows.Add(row);
                    WtritReturnLogFromNC(dsLog);
                    return(false);
                }
                else
                {
                    dsLog.Clear();
                    DataRow row = dsLog.Tables[0].NewRow();
                    row["HeatID"]   = strHeatID;
                    row["BillType"] = strXslt;
                    row["Other1"]   = strType;
                    row["Flag"]     = "0";
                    dsLog.Tables[0].Rows.Add(row);
                    WtritReturnLogFromNC(dsLog);
                    return(true);
                }
            }
            catch (Exception e)
            {
                //MessageBox.Show(this, e.ToString(), "Error");
                //string strRet = e.ToString();
                //writelog(strRet);

                dsLog.Clear();
                DataRow row = dsLog.Tables[0].NewRow();
                row["HeatID"]   = strHeatID;
                row["BillType"] = strXslt;
                row["Other1"]   = strType;
                row["Flag"]     = "1";
                row["Remark"]   = e.ToString();
                dsLog.Tables[0].Rows.Add(row);
                WtritReturnLogFromNC(dsLog);

                return(false);
            }
        }
Esempio n. 38
0
                protected override string DoRequest(string requestXml)
                {
                    string data = @"------WebKitFormBoundaryMNWX8XhCA6tmVZy7
Content-Disposition: form-data; name=""VSS_SERV""

ZVWSBJXML
------WebKitFormBoundaryMNWX8XhCA6tmVZy7
Content-Disposition: form-data; name=""filename""; filename=""req-query.xml""
Content-Type: text/xml

{0}

------WebKitFormBoundaryMNWX8XhCA6tmVZy7--
";

                    int tries = 0;

                    string xml = requestXml;

                    byte[] postData = Encoding.UTF8.GetBytes(string.Format(data, xml));


start:
                    try
                    {
                        tries++;

                        System.Net.ServicePointManager.Expect100Continue = false;
                        System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)WebRequest.Create("http://www.rzp.cz/cgi-bin/aps_cacheWEB.sh");
                        //request.Proxy = new WebProxy("10.211.55.2", 8888);
                        request.Method = "POST";
                        request.Headers.Clear();
                        request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
                        request.Headers.Add(HttpRequestHeader.AcceptLanguage, "en-us");
                        request.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip, deflate");
                        request.Headers.Add(HttpRequestHeader.CacheControl, "max-age:0");
                        request.ContentType = "multipart/form-data; boundary=----WebKitFormBoundaryMNWX8XhCA6tmVZy7";
                        request.Headers.Add("Upgrade-Insecure-Requests", "1");

                        //request.Headers.Add(HttpRequestHeader.KeepAlive, "300");
                        request.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7";
                        request.KeepAlive = true;
                        //request.Referer = "http://www.rzp.cz/cgi-bin/aps_cacheWEB.sh?VSS_SERV=ZVWSBJFND";
                        request.ContentLength = postData.Length;


                        Stream requestStream = request.GetRequestStream();
                        requestStream.Write(postData, 0, postData.Length);
                        requestStream.Flush();
                        requestStream.Close();


                        HttpWebResponse response = (HttpWebResponse)request.GetResponse();

                        using (MemoryStream binaryHttpData = new MemoryStream())
                        {
                            using (BinaryReader binaryReaderFromHttp = new BinaryReader(response.GetResponseStream()))
                            {
                                StreamReader fromBinaryDataToTextReader = null;
                                byte[]       read  = new byte[2048];
                                int          count = binaryReaderFromHttp.Read(read, 0, read.Length);
                                while (count > 0)
                                {
                                    binaryHttpData.Write(read, 0, count);
                                    count = binaryReaderFromHttp.Read(read, 0, read.Length);
                                }

                                if (binaryReaderFromHttp != null)
                                {
                                    binaryReaderFromHttp.Close();
                                }
                                if (fromBinaryDataToTextReader != null)
                                {
                                    fromBinaryDataToTextReader.Close();
                                }
                                if (binaryHttpData != null)
                                {
                                    binaryHttpData.Close();
                                }

                                read = null;
                                return(Encoding.GetEncoding("iso-8859-2").GetString(binaryHttpData.ToArray()));
                            }
                        }
                    }
                    catch (WebException e)
                    {
                        if (e.Message.Contains("(403) Forbidden") && tries <= 3)
                        {
                            System.Threading.Thread.Sleep(5000);
                            goto start;
                        }
                        HlidacStatu.Util.Consts.Logger.Error("RZP error", e);
                        return(null);
                    }
                    catch (Exception e)
                    {
                        HlidacStatu.Util.Consts.Logger.Error("RZP error", e);
                        return(null);
                    }
                }
Esempio n. 39
0
        static void CallErpServices()
        {
            //<!--本机上下文-->
            //<!--<Key Name="EnterpriseID" value="001" />
            //<Key Name="OrgID" value="1001410310010024" />
            //<Key Name="OrgCode" value="10" />
            //<Key Name="UserID" value="1001410310010245" />
            //<Key Name="UserCode" value="admin" />
            //<Key Name="UserName" value="管理员" />
            //<Key Name="CultureName" value="zh-CN" />-->

            string strURL = "http://192.168.50.90/U9/CustRestServices/YY.U9.Cust.LC.InterfaceSV.ICommonOperateSV.svc/Do";

            System.Net.HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strURL);
            request.Method      = "POST";
            request.ContentType = "application/json; charset=utf-8";
            string requestInfos = string.Empty;
            string context      = "{";

            context = context + "\"EntCode\":\"02\",";
            context = context + "\"OrgCode\":\"100\",";
            context = context + "\"UserCode\":\"admin\",";
            context = context + "\"CultureName\":\"zh-CN\"";
            context = context + "}";

            //业务类型:物料-ItemMaster 杂发-MiscShip
            string businessType = "TransferForm";
            //Action:新增-Add 修改:Modify  删除-Delete  审核-Approve
            string actionType = "Approve";
            //组织ID
            string org = "100";
            //单号:单号1,单号2,单号3
            //string docNos = "ZF20181120001,ZF20181120002";
            string docIDs = "1001904090000020";

            //<body><item><businessType>TransferForm</businessType><actionType>Approve</actionType><org>100</org><docID>1001904090000020</docID></item></body>

            StringBuilder requestXml = new StringBuilder();

            requestXml.Append("<body>");
            requestXml.Append("<item>");
            requestXml.Append("<businessType>").Append(businessType).Append("</businessType>");
            requestXml.Append("<actionType>").Append(actionType).Append("</actionType>");
            requestXml.Append("<org>").Append(org).Append("</org>");
            requestXml.Append("<docID>").Append(docIDs).Append("</docID>");
            requestXml.Append("</item>");
            requestXml.Append("</body>");

            string data = "{\"context\":" + context + ",\"requestInfos\":\"" + requestXml.ToString() + "\"}";

            byte[] param;
            param = System.Text.Encoding.UTF8.GetBytes(data.Trim());
            request.ContentLength = param.Length;
            System.IO.Stream writer = request.GetRequestStream();
            writer.Write(param, 0, param.Length);
            writer.Close();
            System.Net.HttpWebResponse response;

            try
            {
                response = (System.Net.HttpWebResponse)request.GetResponse();
            }
            catch (WebException ex)
            {
                response = (HttpWebResponse)ex.Response;
            }

            System.IO.StreamReader myreader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
            string responseText             = myreader.ReadToEnd();

            myreader.Close();
        }
Esempio n. 40
0
        private void SendFileThread()
        {
            while (running)
            {
                resetEvent.WaitOne();

                SendingHolder sh = null;
                resetEvent.Reset();

                lock (locker) {
                    if (queue.Count > 0)
                    {
                        sh = queue.Dequeue();
                    }
                }

                // if there was nothing to do, re-loop
                if (sh == null)
                {
                    continue;
                }

                ServiceInfo serviceInfo = sh.serviceInfo;

                // Calculate how many files to send and how big they are
                CalculateSendingHolderData(sh);
                //Logger.Debug("SEND: About to request send for {0} files at {1} bytes", sh.fileCount, sh.totalSize);

                UriBuilder urib = new UriBuilder("http", serviceInfo.Address.ToString(), (int)serviceInfo.Port);
                //Logger.Debug("SEND: Sending request to URI: {0}", urib.Uri.ToString());

                System.Net.HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(urib.Uri);

                // Send request to send the file
                request.Method = "GET";
                request.Headers.Set(Protocol.Request, Protocol.Send);
                request.Headers.Set(Protocol.UserName, Application.Preferences.UserName);
                request.Headers.Set(Protocol.Type, Protocol.ProtocolTypeFiles);
                request.Headers.Set(Protocol.Count, sh.fileCount.ToString());
//				*** START OF TOMBOY and TASQUE HACK ***

                if (sh.fileCount == 1)
                {
                    // Complete and total hack for TomBoy
                    Logger.Debug("The extension is: {0}", Path.GetExtension(sh.files[0]));
                    if (Path.GetExtension(sh.files[0]).CompareTo(".note") == 0)
                    {
                        Logger.Debug("I got a Note file");
                        try {
                            StreamReader reader  = new StreamReader(sh.files[0]);
                            string       noteXml = reader.ReadToEnd();
                            string       title   = null;
                            reader.Close();
                            XmlTextReader xml = new XmlTextReader(new StringReader(noteXml));
                            xml.Namespaces = false;
                            while (xml.Read())
                            {
                                switch (xml.NodeType)
                                {
                                case XmlNodeType.Element:
                                    switch (xml.Name)
                                    {
                                    case "title":
                                        title = xml.ReadString();
                                        break;
                                    }
                                    break;
                                }
                            }
                            if (title != null)
                            {
                                request.Headers.Set(Protocol.Name, title);
                                request.Headers.Set(Protocol.Type, Protocol.ProtocolTypeTomboy);
                            }
                            else
                            {
                                Logger.Debug("The node is null");
                                request.Headers.Set(Protocol.Name, Path.GetFileName(sh.files[0]));
                            }
                        } catch (Exception e) {
                            Logger.Debug("Exception getting note {0}", e);
                            request.Headers.Set(Protocol.Name, Path.GetFileName(sh.files[0]));
                        }
                    }
                    else if (Path.GetExtension(sh.files[0]).CompareTo(".tasque") == 0)
                    {
                        Logger.Debug("I got a task file");
                        try {
                            string name = null;
                            System.Xml.XmlDocument doc = new XmlDocument();
                            doc.Load(sh.files[0]);
                            XmlNode node = doc.SelectSingleNode("//name");
                            name = node.InnerText;

                            if (name != null)
                            {
                                request.Headers.Set(Protocol.Name, name);
                                request.Headers.Set(Protocol.Type, Protocol.ProtocolTypeTasque);
                            }
                            else
                            {
                                Logger.Debug("The node is null");
                                request.Headers.Set(Protocol.Name, Path.GetFileName(sh.files[0]));
                            }
                        } catch (Exception e) {
                            Logger.Debug("Exception getting task {0}", e);
                            request.Headers.Set(Protocol.Name, Path.GetFileName(sh.files[0]));
                        }
                    }
                    else
                    {
                        request.Headers.Set(Protocol.Name, Path.GetFileName(sh.files[0]));
                    }
                }

//				if(sh.fileCount == 1)
//					request.Headers.Set(Protocol.Name, Path.GetFileName(sh.files[0]));
                else
                {
                    request.Headers.Set(Protocol.Name, "many");
                }

                request.Headers.Set(Protocol.Size, sh.totalSize.ToString());

                //Logger.Debug("SEND: about to perform a GET for the file send request");
                HttpWebResponse response;

                // Read the response to the request
                try {
                    response = (HttpWebResponse)request.GetResponse();
                } catch (System.Net.WebException we) {
                    if (we.Response != null)
                    {
                        response = (HttpWebResponse)we.Response;
                    }
                    else
                    {
                        Logger.Debug("SEND: Exception in getting response {0}", we.Message);
                        continue;
                    }
                } catch (Exception e) {
                    Logger.Debug("SEND: Exception in request.GetResponse(): {0}", e);
                    continue;
                }

                Logger.Debug("SEND: Response Status code {0}", response.StatusCode);

                if (response.StatusCode == HttpStatusCode.OK)
                {
                    //Logger.Debug("SEND: Response was OK");

                    string sessionID = response.Headers[Protocol.SessionID];
                    response.Close();
                    int  counter    = 0;
                    long entireSize = 0;

                    if (TransferStarted != null)
                    {
                        TransferStarted(new TransferStatusArgs(sh.fileCount, 0, "",
                                                               Protocol.ProtocolTypeFile, sh.totalSize,
                                                               0, request.ContentLength, 0, serviceInfo));
                    }


                    foreach (SendFilePair filePair in sh.filePairs)
                    {
                        request        = (HttpWebRequest)HttpWebRequest.Create(urib.Uri);
                        request.Method = "POST";
                        request.Headers.Set(Protocol.SessionID, sessionID);
                        request.Headers.Set(Protocol.Request, Protocol.Payload);
                        request.Headers.Set(Protocol.Type, Protocol.ProtocolTypeFile);
                        request.Headers.Set(Protocol.Count, counter.ToString());
                        // don't buffer the request being sent
                        request.AllowWriteStreamBuffering = false;
                        string fileName = Path.GetFileName(filePair.file);
                        request.Headers.Set(Protocol.Name, fileName);
                        request.Headers.Set(Protocol.RelativePath, filePair.relativePath);
                        request.Headers.Set(Protocol.TimeStamp,
                                            File.GetLastWriteTime(filePair.file).Ticks.ToString());

                        try {
                            System.IO.FileStream filestream = File.Open(filePair.file, FileMode.Open, FileAccess.Read);
                            request.ContentLength = filestream.Length;
                            Stream stream = request.GetRequestStream();

                            int    sizeRead  = 0;
                            int    totalRead = 0;
                            byte[] buffer    = new byte[8192];

                            if (FileTransferStarted != null)
                            {
                                FileTransferStarted(new TransferStatusArgs(sh.fileCount, counter, fileName,
                                                                           Protocol.ProtocolTypeFile, sh.totalSize,
                                                                           entireSize, request.ContentLength, totalRead, serviceInfo));
                            }


                            do
                            {
                                sizeRead    = filestream.Read(buffer, 0, 8192);
                                totalRead  += sizeRead;
                                entireSize += sizeRead;
                                if (sizeRead > 0)
                                {
                                    stream.Write(buffer, 0, sizeRead);
                                }

                                if (TransferProgress != null)
                                {
                                    TransferProgress(new TransferStatusArgs(sh.fileCount, counter, fileName,
                                                                            Protocol.ProtocolTypeFile, sh.totalSize,
                                                                            entireSize, request.ContentLength, totalRead, serviceInfo));
                                }
                            } while(sizeRead == 8192);
                            //Logger.Debug("SEND: We Read from the file {0} bytes", totalRead);
                            //Logger.Debug("SEND: The content length is {0} bytes", filestream.Length);

                            stream.Close();
                            filestream.Close();

                            // Read the response to the request
                            try {
                                response = (HttpWebResponse)request.GetResponse();
                            } catch (System.Net.WebException we) {
                                if (we.Response != null)
                                {
                                    response = (HttpWebResponse)we.Response;
                                }
                                else
                                {
                                    Logger.Debug("SEND: Exception in getting response {0}", we.Message);
                                    continue;
                                }
                            } catch (Exception e) {
                                Logger.Debug("SEND: Exception in request.GetResponse(): {0}", e);
                                continue;
                            }

                            response.Close();
                        } catch (Exception e) {
                            Logger.Debug("SEND: Exception when sending file: {0}", e.Message);
                            Logger.Debug("SEND: Exception {0}", e);
                        }
                        counter++;
                    }

                    if (TransferEnded != null)
                    {
                        TransferEnded(new TransferStatusArgs(sh.fileCount, counter, "",
                                                             Protocol.ProtocolTypeFile, sh.totalSize,
                                                             entireSize, request.ContentLength, 0, serviceInfo));
                    }



                    //Logger.Debug("RECEIVE: About to do a Gtk.Application.Invoke for the notify dude.");
                    Gtk.Application.Invoke(delegate {
                        string body = Services.PlatformService.GetString("{0} has received the file(s)!", serviceInfo.UserName);
                        //Logger.Debug("RECEIVE: Inside the Gtk.Application.Invoke dude");
                        Services.PlatformService.ShowMessage(Services.PlatformService.GetString("Done Giving Files."),
                                                             body, serviceInfo.Photo);

                        Services.PlatformService.PlaySoundFile(Path.Combine(Giver.Defines.SoundDir, "notify.wav"));
                    });
                }
                else
                {
                    //Logger.Debug("RECEIVE: About to do a Gtk.Application.Invoke for the notify dude.");
                    Gtk.Application.Invoke(delegate {
                        string body = Services.PlatformService.GetString(
                            "{0} declined your request to give files.", serviceInfo.UserName);
                        //Logger.Debug("RECEIVE: Inside the Gtk.Application.Invoke dude");
                        Services.PlatformService.ShowMessage(Services.PlatformService.GetString("Giving Was Declined"),
                                                             body, serviceInfo.Photo);

                        Services.PlatformService.PlaySoundFile(Path.Combine(Giver.Defines.SoundDir, "notify.wav"));
                    });
                }

                Logger.Debug("SEND: Done with Sending file");
            }
        }
Esempio n. 41
0
        /// <summary>删除永久素材
        /// </summary>
        /// <param name="media_id">素材标识id</param>
        /// <param name="errorDescription">返回错误信息</param>
        /// <returns></returns>
        public static bool DeletePermanenceMaterial(string media_id, ref string errorDescription)
        {
            if (string.IsNullOrEmpty(Access_token))
            {
                errorDescription = "发生错误:access_token为null,请查看页面的Load事件是否调用了Utility.GetAccessToken()方法";

                return(false);
            }

            string param = "{\"media_id\":\"" + media_id + "\"}";

            System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)WebRequest.Create(string.Format("https://api.weixin.qq.com/cgi-bin/material/del_material?access_token={0}", Access_token));
            request.Method      = "POST";
            request.ContentType = "application/json;charset=UTF-8";
            byte[] payload = System.Text.Encoding.UTF8.GetBytes(param);
            request.ContentLength = payload.Length;
            string strResult = string.Empty;

            Stream          requestStream  = null;
            HttpWebResponse response       = null;
            Stream          responseStream = null;
            StreamReader    myStreamReader = null;

            try
            {
                requestStream = request.GetRequestStream();
                requestStream.Write(payload, 0, payload.Length);

                response       = (HttpWebResponse)request.GetResponse();
                responseStream = response.GetResponseStream();
            }
            catch (Exception ex)
            {
                errorDescription = ex.Message;

                return(false);
            }
            finally
            {
                if (responseStream != null)
                {
                    myStreamReader = new StreamReader(responseStream, System.Text.Encoding.GetEncoding("utf-8"));
                    strResult      = myStreamReader.ReadToEnd();

                    if (myStreamReader != null)
                    {
                        myStreamReader.Close();
                        myStreamReader.Dispose();
                    }

                    responseStream.Close();
                    responseStream.Dispose();
                }

                if (requestStream != null)
                {
                    requestStream.Close();
                }

                if (response != null)
                {
                    response.Close();
                }
            }

            if (String.IsNullOrEmpty(strResult))
            {
                errorDescription = "接口调用异常";

                return(false);
            }

            if (strResult.IndexOf("errcode") >= 0)
            {
                //根据错误代码获取错误代码对应的解释
                errorDescription = ErrorInformation.GetErrorCode(strResult, "errcode");

                if (Utility.AnalysisJson(strResult, "errcode") == "0")
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }

            return(true);
        }
        // Credits Cristian Romanescu @ http://stackoverflow.com/questions/566462/upload-files-with-httpwebrequest-multipart-form-data
        static void HttpUploadFile(string url, byte[] fileContents, string fileParam, string fileName, string contentType, System.Collections.Specialized.NameValueCollection nvc)
        {
            string boundary = "---------------------------" + DateTime.Now.Ticks.ToString("x");

            byte[] boundarybytes = System.Text.Encoding.ASCII.GetBytes("\r\n--" + boundary + "\r\n");

            System.Net.HttpWebRequest wr = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
            //HACK: add proxy
            IWebProxy proxy = WebRequest.GetSystemWebProxy();

            proxy.Credentials  = System.Net.CredentialCache.DefaultCredentials;
            wr.Proxy           = proxy;
            wr.PreAuthenticate = true;
            //HACK: end add proxy
            wr.ContentType = "multipart/form-data; boundary=" + boundary;
            wr.Method      = "POST";

            System.IO.Stream rs = wr.GetRequestStream();

            {
                string formdataTemplate = "Content-Disposition: form-data; name=\"{0}\"\r\n\r\n";
                foreach (string key in nvc.Keys)
                {
                    // Parameter Header (+ boundary)
                    rs.Write(boundarybytes, 0, boundarybytes.Length);
                    string header      = string.Format(formdataTemplate, key);
                    byte[] headerbytes = System.Text.Encoding.UTF8.GetBytes(header);
                    rs.Write(headerbytes, 0, headerbytes.Length);

                    // Parameter Content
                    byte[] buffer = System.Text.Encoding.UTF8.GetBytes(nvc[key].ToString());
                    rs.Write(buffer, 0, buffer.Length);
                }
            }
            {
                // File Header (+ boundary)
                rs.Write(boundarybytes, 0, boundarybytes.Length);
                string headerTemplate = "Content-Disposition: form-data; name=\"{0}\"; filename=\"{1}\"\r\nContent-Type: {2}\r\n\r\n";
                string header         = string.Format(headerTemplate, fileParam, fileName, contentType);
                byte[] headerbytes    = System.Text.Encoding.UTF8.GetBytes(header);
                rs.Write(headerbytes, 0, headerbytes.Length);

                // File Content
                rs.Write(fileContents, 0, fileContents.Length);
            }
            {
                // WebRequest Trailer
                byte[] trailer = System.Text.Encoding.ASCII.GetBytes("\r\n--" + boundary + "--\r\n");
                rs.Write(trailer, 0, trailer.Length);
            }
            rs.Close();

            try
            {
                using (System.Net.WebResponse wresp = wr.GetResponse())
                {
                    System.IO.StreamReader respReader = new System.IO.StreamReader(wresp.GetResponseStream());
                    //MessageBox.Show(respReader.ReadToEnd());
                }
            }
            catch (System.Net.WebException ex)
            {
                System.IO.StreamReader reader = new System.IO.StreamReader(ex.Response.GetResponseStream());
                MessageBox.Show(ex.Message + " " + reader.ReadToEnd());
            }
        }
Esempio n. 43
0
    protected void btn_Submit_Click(object sender, EventArgs e)
    {
        int               GoldPackage   = Convert.ToInt16(ddl_GoldPackage.SelectedValue);
        int               SilverPackage = Convert.ToInt16(ddl_SilverPackage.SelectedValue);
        decimal           GoldAmount    = Convert.ToDecimal(GoldPackage * Convert.ToInt32(pricegold.Text));
        decimal           SilverAmount  = Convert.ToDecimal(SilverPackage * Convert.ToInt32(pricesilver.Text));
        decimal           TotalAmount   = GoldAmount + SilverAmount;
        DateTime          DateofBooking = DateTime.Now.Date;
        string            ISDCode       = "91";
        TransactionRecord tr            = new TransactionRecord();

        tr.NYBookingID = GTICKBOL.BollyLand_Max();
        //tr.QntyCouple = Convert.ToInt16(CouplePackage);
        //tr.QntySingle = Convert.ToInt16(SinglePackage);
        //tr.QntyTeens = Convert.ToInt16(TeensPackage);
        //tr.QntyKids = Convert.ToInt16(KidsPackage);
        //tr.NYTotalAmount = Convert.ToDecimal(TotalAmount.ToString());
        string nybookingid = MaxBookingId(tr.NYBookingID.ToString());

        tr.NYBookingID = nybookingid;
        //GTICKBOL.NewYearBooking_Details(Convert.ToInt16(GoldPackage), Convert.ToInt16(SilverPackage), Convert.ToInt16(TeensPackage), Convert.ToInt16(KidsPackage), Convert.ToDecimal(TotalAmount.ToString()), DateofBooking, tr.NYBookingID.ToString(), txtName.Text, txtEmail.Text, txtContact.Text, false, "", textroyalinfo.Text);
        GTICKBOL.BollylandBooking_Details(Convert.ToInt16(GoldPackage), Convert.ToInt16(SilverPackage), Convert.ToDecimal(TotalAmount.ToString()), DateofBooking, tr.NYBookingID.ToString(), txtName.Text, txtEmail.Text, txtContact.Text, false, "");
        //Payment Gateway Flow

        Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write(tr.NYBookingID.ToString() + "Sending to HDFC Payment Gateway");
        string trackId, amount;
        string URL = "";

        trackId = tr.NYBookingID;
        amount  = TotalAmount.ToString();
        String ErrorUrl    = KoDTicketingIPAddress + "BollyLand/HDFC/Error.aspx";
        String ResponseUrl = KoDTicketingIPAddress + "BollyLand/HDFC/ReturnReceipt.aspx";
        string qrystr      = "id=" + HDFCTransPortalID + "&password="******"&action=1&langid=USA&currencycode=356&amt=" + amount
                             + "&responseURL=" + Server.UrlEncode(ResponseUrl) + "&errorURL=" + Server.UrlEncode(ErrorUrl)
                             + "&trackid=" + trackId
                             + "&udf1=TicketBooking&udf2=" + txtEmail.Text.Trim()
                             + "&udf3=" + Server.UrlEncode(ISDCode.ToString().TrimStart('+') + txtContact.Text) + "&udf4=" + Server.UrlEncode(txtName.Text.Trim()) + "&udf5=" + tr.BookingID.ToString();

        Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("Preparing for HDFC Payment..." + qrystr);
        System.IO.StreamWriter requestWriter = null;
        Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("Redirecting for HDFC Payment..." + HDFCTransUrl);
        System.Net.HttpWebRequest objRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(HDFCTransUrl);   //create a SSL connection object server-to-server
        objRequest.Method          = "POST";
        objRequest.ContentLength   = qrystr.Length;
        objRequest.ContentType     = "application/x-www-form-urlencoded";
        objRequest.CookieContainer = new System.Net.CookieContainer();
        try
        {
            Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("Processing request for HDFC Payment...");
            requestWriter = new System.IO.StreamWriter(objRequest.GetRequestStream());  // here the request is sent to payment gateway
            requestWriter.Write(qrystr);
        }
        catch (Exception ex)
        {
            Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("Excetion while processing HDFC payment: " + trackId + ex.Message);
        }

        if (requestWriter != null)
        {
            requestWriter.Close();
        }

        Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("Review validation response from HDFC Payment Gateway...");
        System.Net.HttpWebResponse objResponse = (System.Net.HttpWebResponse)objRequest.GetResponse();
        using (System.IO.StreamReader sr =
                   new System.IO.StreamReader(objResponse.GetResponseStream()))
        {
            String NSDLval = sr.ReadToEnd();
            Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("Response: " + NSDLval);
            if (NSDLval.Contains("Invalid User Defined Field"))
            {
                lblMess.Text = "The information submitted contains some invalid character, please avoid using [+,-,#] etc.";
                return;
            }

            if (NSDLval.IndexOf("http") == -1)
            {
                lblMess.Text = "Payment cannot be processed with information provided.";
                return;
            }

            string strPmtId  = NSDLval.Substring(0, NSDLval.IndexOf(":http"));  // Merchant MUST map (update) the Payment ID received with the merchant Track Id in his database at this place.
            string strPmtUrl = NSDLval.Substring(NSDLval.IndexOf("http"));
            if (strPmtId != String.Empty && strPmtUrl != String.Empty)
            {
                URL = strPmtUrl.ToString() + "?PaymentID=" + strPmtId;
            }
            else
            {
                lblMess.Text = "Invalid Response!";
            }
            sr.Close();
        }
        Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("Payment Redirection: " + URL);
        Response.Redirect(URL, false);
    }
Esempio n. 44
0
        static void CallErpServices()
        {
            //<!--本机上下文-->
            //<!--<Key Name="EnterpriseID" value="001" />
            //<Key Name="OrgID" value="1001410310010024" />
            //<Key Name="OrgCode" value="10" />
            //<Key Name="UserID" value="1001410310010245" />
            //<Key Name="UserCode" value="admin" />
            //<Key Name="UserName" value="管理员" />
            //<Key Name="CultureName" value="zh-CN" />-->

            string strURL = "http://10.20.1.17/U9/CustRestServices/YY.U9.Cust.CommonSV.ICommonOperateSV.svc/Do";

            System.Net.HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strURL);
            request.Method      = "POST";
            request.ContentType = "application/json; charset=utf-8";
            string requestInfos = string.Empty;
            string context      = "{";

            context = context + "\"EntCode\":\"02\",";
            context = context + "\"OrgCode\":\"1002\",";
            context = context + "\"UserCode\":\"11160202\",";
            context = context + "\"CultureName\":\"zh-CN\"";
            context = context + "}";

            //业务类型:物料-ItemMaster 杂发-MiscShip
            string businessType = "PR";
            //Action:新增-Add 修改:Modify  删除-Delete  审核-Approve
            string actionType = "Approve";
            //组织ID
            string org = "1002";
            //单号:单号1,单号2,单号3
            //string docNos = "ZF20181120001,ZF20181120002";
            string        docIDs     = "1001905090000024";//单号PR1905090002
            string        userCode   = "11160202";
            StringBuilder requestXml = new StringBuilder();

            requestXml.Append("<Body>");
            requestXml.Append("<Item>");
            requestXml.Append("<BusinessType>").Append(businessType).Append("</BusinessType>");
            requestXml.Append("<ActionType>").Append(actionType).Append("</ActionType>");
            requestXml.Append("<Org>").Append(org).Append("</Org>");
            requestXml.Append("<DocID>").Append(docIDs).Append("</DocID>");
            requestXml.Append("<UserCode>").Append(userCode).Append("</UserCode>");
            requestXml.Append("<Details>");
            requestXml.Append("<Detail>");
            requestXml.Append("<PrivateDescSeg1>1001905090000025</PrivateDescSeg1>");
            requestXml.Append("<PrivateDescSeg2>101-00009-0</PrivateDescSeg2>");
            requestXml.Append("<PrivateDescSeg3>1500.00</PrivateDescSeg3>");
            requestXml.Append("<PrivateDescSeg4>2019-05-10</PrivateDescSeg4>");
            requestXml.Append("<PrivateDescSeg5></PrivateDescSeg5>");
            requestXml.Append("<PrivateDescSeg6></PrivateDescSeg6>");
            requestXml.Append("<PrivateDescSeg7></PrivateDescSeg7>");
            requestXml.Append("<PrivateDescSeg8></PrivateDescSeg8>");
            requestXml.Append("<PrivateDescSeg9></PrivateDescSeg9>");
            requestXml.Append("<PrivateDescSeg10></PrivateDescSeg10>");
            requestXml.Append("</Detail>");
            requestXml.Append("<Detail>");
            requestXml.Append("<PrivateDescSeg1>1001905090000026</PrivateDescSeg1>");
            requestXml.Append("<PrivateDescSeg2>101001-00028-0</PrivateDescSeg2>");
            requestXml.Append("<PrivateDescSeg3>4000.00</PrivateDescSeg3>");
            requestXml.Append("<PrivateDescSeg4>2019-05-10</PrivateDescSeg4>");
            requestXml.Append("<PrivateDescSeg5></PrivateDescSeg5>");
            requestXml.Append("<PrivateDescSeg6></PrivateDescSeg6>");
            requestXml.Append("<PrivateDescSeg7></PrivateDescSeg7>");
            requestXml.Append("<PrivateDescSeg8></PrivateDescSeg8>");
            requestXml.Append("<PrivateDescSeg9></PrivateDescSeg9>");
            requestXml.Append("<PrivateDescSeg10></PrivateDescSeg10>");
            requestXml.Append("</Detail>");
            requestXml.Append("</Details>");
            requestXml.Append("</Item>");
            requestXml.Append("</Body>");

            string data = "{\"context\":" + context + ",\"requestInfos\":\"" + requestXml.ToString() + "\"}";

            byte[] param;
            param = System.Text.Encoding.UTF8.GetBytes(data.Trim());
            request.ContentLength = param.Length;
            System.IO.Stream writer = request.GetRequestStream();
            writer.Write(param, 0, param.Length);
            writer.Close();
            System.Net.HttpWebResponse response;

            try
            {
                response = (System.Net.HttpWebResponse)request.GetResponse();
            }
            catch (WebException ex)
            {
                response = (HttpWebResponse)ex.Response;
            }

            System.IO.StreamReader myreader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
            string responseText             = myreader.ReadToEnd();

            myreader.Close();
        }
Esempio n. 45
0
 public Stream GetRequestStream() => _webRequest.GetRequestStream();
Esempio n. 46
0
        /// <summary>
        /// Adds an appointment to a user's calendar
        /// </summary>
        public virtual void AddAppointment()
        {
            string XMLNSInfo = "xmlns:g=\"DAV:\" "
                               + "xmlns:e=\"http://schemas.microsoft.com/exchange/\" "
                               + "xmlns:mapi=\"http://schemas.microsoft.com/mapi/\" "
                               + "xmlns:mapit=\"http://schemas.microsoft.com/mapi/proptag/\" "
                               + "xmlns:x=\"xml:\" xmlns:cal=\"urn:schemas:calendar:\" "
                               + "xmlns:dt=\"urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/\" "
                               + "xmlns:header=\"urn:schemas:mailheader:\" "
                               + "xmlns:mail=\"urn:schemas:httpmail:\"";

            string CalendarInfo = "<cal:location>" + Location + "</cal:location>"                                                                               // + Location + "</cal:location>"
                                  + "<cal:dtstart dt:dt=\"dateTime.tz\">" + StartDate.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss.000Z") + "</cal:dtstart>" // + StartDate.ToUniversalTime().ToString("yyyyMMddTHHmmssZ") + "</cal:dtstart>"
                                  + "<cal:dtend dt:dt=\"dateTime.tz\">" + EndDate.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss.000Z") + "</cal:dtend>"       // + EndDate.ToUniversalTime().ToString("yyyyMMddTHHmmssZ") + "</cal:dtend>"
                                  + "<cal:instancetype dt:dt=\"int\">0</cal:instancetype>"
                                  + "<cal:busystatus>" + Status + "</cal:busystatus>"
                                  + "<cal:meetingstatus>CONFIRMED</cal:meetingstatus>"
                                  + "<cal:alldayevent dt:dt=\"boolean\">0</cal:alldayevent>"
                                  + "<cal:responserequested dt:dt=\"boolean\">1</cal:responserequested>"
                                  + "<cal:reminderoffset dt:dt=\"int\">900</cal:reminderoffset>"
                                  + "<cal:uid>" + MeetingGUID.ToString("B") + "</cal:uid>";

            string HeaderInfo = "<header:to>" + AttendeeList.ToString() + "</header:to>";

            string MailInfo = "<mail:subject>" + Subject + "</mail:subject>"
                              + "<mail:htmldescription>" + Summary + "</mail:htmldescription>";

            string AppointmentRequest = "<?xml version=\"1.0\"?>"
                                        + "<g:propertyupdate " + XMLNSInfo + ">"
                                        + "<g:set><g:prop>"
                                        + "<g:contentclass>urn:content-classes:appointment</g:contentclass>"
                                        + "<e:outlookmessageclass>IPM.Appointment</e:outlookmessageclass>"
                                        + MailInfo
                                        + CalendarInfo
                                        + HeaderInfo
                                        + "<mapi:finvited dt:dt=\"boolean\">1</mapi:finvited>"
                                        + "</g:prop></g:set>"
                                        + "</g:propertyupdate>";

            System.Net.HttpWebRequest PROPPATCHRequest = (System.Net.HttpWebRequest)HttpWebRequest.Create(ServerName + "/exchange/" + Directory + "/Calendar/" + MeetingGUID.ToString() + ".eml");

            System.Net.CredentialCache MyCredentialCache = new System.Net.CredentialCache();
            if (!string.IsNullOrEmpty(UserName) && !string.IsNullOrEmpty(Password))
            {
                MyCredentialCache.Add(new System.Uri(ServerName + "/exchange/" + Directory + "/Calendar/" + MeetingGUID.ToString() + ".eml"),
                                      "NTLM",
                                      new System.Net.NetworkCredential(UserName, Password));
            }
            else
            {
                MyCredentialCache.Add(new System.Uri(ServerName + "/exchange/" + Directory + "/Calendar/" + MeetingGUID.ToString() + ".eml"),
                                      "Negotiate",
                                      (System.Net.NetworkCredential)CredentialCache.DefaultCredentials);
            }

            PROPPATCHRequest.Credentials = MyCredentialCache;
            PROPPATCHRequest.Method      = "PROPPATCH";
            byte[] bytes = Encoding.UTF8.GetBytes((string)AppointmentRequest);
            PROPPATCHRequest.ContentLength = bytes.Length;
            using (System.IO.Stream PROPPATCHRequestStream = PROPPATCHRequest.GetRequestStream())
            {
                PROPPATCHRequestStream.Write(bytes, 0, bytes.Length);
                PROPPATCHRequestStream.Close();
                PROPPATCHRequest.ContentType = "text/xml";
                System.Net.WebResponse PROPPATCHResponse = (System.Net.HttpWebResponse)PROPPATCHRequest.GetResponse();
                PROPPATCHResponse.Close();
            }
        }
Esempio n. 47
0
    protected void btn_Submit_Click(object sender, EventArgs e)
    {
        DataTable dt = TransactionBOL.Check_BotyTransaction(entryid.Text);

        if (dt.Rows.Count == 0)
        {
            decimal  TotalAmount   = Convert.ToDecimal("1000");
            DateTime DateofBooking = DateTime.Now.Date;
            string   ISDCode       = "91";
            // String BookingID = KODVL00000; //for the FirstTime//
            TransactionRecord tr = new TransactionRecord();
            tr.VLBookingID   = GTICKBOL.BotyBooking_Max();
            tr.VLTotalAmount = Convert.ToDecimal(TotalAmount);
            string vlbookingid = MaxBookingId(tr.VLBookingID.ToString());
            tr.VLBookingID = vlbookingid;

            Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write(tr.VLBookingID.ToString() + " booking id for boty which have entry id " + Request.QueryString["entry_id"]);
            int enrty = GTICKBOL.BotyBooking_Details(frmid.Text, entryid.Text, TotalAmount, DateofBooking, tr.VLBookingID.ToString(), false, "");

            //********Payment GateWay Flow******//

            Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write(tr.VLBookingID.ToString() + "Sending to HDFC Payment Gateway");
            string trackid, amount;
            string URL = "";
            trackid            = tr.VLBookingID.ToString();
            Session["trackid"] = trackid;
            amount             = TotalAmount.ToString();


            String ErrorUrl    = KoDTicketingIPAddress + "Boty/HDFC/Error.aspx";
            String ResponseUrl = KoDTicketingIPAddress + "Boty/HDFC/ReturnReceipt.aspx";

            string qrystr = "id=" + HDFCTransPortalID + "&password="******"&action=1&langid=USA&currencycode=356&amt=" + amount
                            + "&responseURL=" + Server.UrlEncode(ResponseUrl) + "&errorURL=" + Server.UrlEncode(ErrorUrl)
                            + "&trackid=" + trackid
                            + "&udf1=TicketBooking&udf2=" + "".Trim()
                            + "&udf3=" + Server.UrlEncode(ISDCode.ToString().TrimStart('+') + "") + "&udf4=" + Server.UrlEncode("".Trim()) + "&udf5=" + tr.BookingID.ToString();

            Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("Preparing for HDFC Payment..." + qrystr);

            System.IO.StreamWriter requestWriter = null;
            Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("Redirecting for HDFC Payment..." + HDFCTransUrl);
            System.Net.HttpWebRequest objRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(HDFCTransUrl);       //create a SSL connection object server-to-server
            objRequest.Method          = "POST";
            objRequest.ContentLength   = qrystr.Length;
            objRequest.ContentType     = "application/x-www-form-urlencoded";
            objRequest.CookieContainer = new System.Net.CookieContainer();

            try
            {
                Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("Processing request for HDFC Payment...");
                requestWriter = new System.IO.StreamWriter(objRequest.GetRequestStream());      // here the request is sent to payment gateway
                requestWriter.Write(qrystr);
            }
            catch (Exception ex)
            {
                Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("Excetion while processing HDFC payment: " + trackid + ex.Message);
            }

            if (requestWriter != null)
            {
                requestWriter.Close();
            }

            Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("Review validation response from HDFC Payment Gateway...");
            System.Net.HttpWebResponse objResponse = (System.Net.HttpWebResponse)objRequest.GetResponse();

            using (System.IO.StreamReader sr =
                       new System.IO.StreamReader(objResponse.GetResponseStream()))
            {
                String NSDLval = sr.ReadToEnd();
                Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("Response: " + NSDLval);
                if (NSDLval.Contains("Invalid User Defined Field"))
                {
                    lblMess.Text = "The information submitted contains some invalid character, please avoid using [+,-,#] etc.";
                    return;
                }

                //Writefile_new("\n***************Initial Response********************", Server.MapPath("~"));
                //Writefile_new("\n\nDateTime:" + DateTime.Now.ToString("dd/MM/yy HH:mm:ss") + " Reference No:" + trackId + "Request XML:" + NSDLval, Server.MapPath("~"));
                if (NSDLval.IndexOf("http") == -1)
                {
                    lblMess.Text = "Payment cannot be processed with information provided.";
                    return;
                }

                // gb.HDFCLog(transid.ToString(), "", trackId, "***Initial Response*** : " + NSDLval);
                string strPmtId  = NSDLval.Substring(0, NSDLval.IndexOf(":http"));      // Merchant MUST map (update) the Payment ID received with the merchant Track Id in his database at this place.
                string strPmtUrl = NSDLval.Substring(NSDLval.IndexOf("http"));
                if (strPmtId != String.Empty && strPmtUrl != String.Empty)
                {
                    URL = strPmtUrl.ToString() + "?PaymentID=" + strPmtId;
                }
                else
                {
                    lblMess.Text = "Invalid Response!";
                }
                sr.Close();
            }
            Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("Payment Redirection: " + URL);
            if (enrty > 0)
            {
                Response.Redirect(URL, false);
            }
        }
        else
        {
            ClientScript.RegisterStartupScript(GetType(), "myscript", "<script>alert('Entry Id Already Exist. Please start" +
                                               " the transaction again');window.location.href='http://boty.in/register-here/';</script>");
        }
    }
    public void Page_Load(object sender, EventArgs e)
    {
        try
        {
            Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("GetHandleHDFCResponse");

            /* Capture the IP Address from where the response has been received */
            strResponceIP = HttpContext.Current.Request.UserHostAddress;

            /* Check whether the IP Address from where response is received is PG IP */
            if (strResponceIP != "221.134.101.174" && strResponceIP != "221.134.101.169")
            {
                //IF ip address recevied is not Payment Gateway IP Address

                /*
                 * IMPORTAN NOTE - IF IP ADDRESS MISMATCHES, ME LOGS DETAILS IN LOGS,
                 * UPDATES MERCHANT DATABASE WITH PAYMENT FAILURE, REDIRECTS CUSTOMER
                 * ON FAILURE PAGE WITH RESPECTIVE MESSAGE
                 */
                /*
                 * to get the IP Address in case of proxy server used
                 * string strIpAddress = Request.ServerVariables("HTTP_X_FORWARDED_FOR");
                 */
                Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("GetHandleHDFCResponse Result: ip address recevied is not Payment Gateway IP Address");
                string redirectURL = KoDTicketingIPAddress + "RoyalCard/Account/Payment/HDFC/FailedTRAN.aspx?Message=";
                Response.Write("REDIRECT=" + redirectURL + "--IP MISSMATCH-- Response IP Address is: " + strResponceIP);
            }
            else
            {
                //====================================================================================================================================
                ResErrorText = Request["ErrorText"];    //Error Text/message
                ResPaymentId = Request["paymentid"];    //Payment Id
                ResTrackID   = Request["trackid"];      //Merchant Track ID
                ResErrorNo   = Request["Error"];        //Error Number

                //To collect transaction result
                ResResult  = Request["result"];                 //Transaction Result
                ResPosdate = Request["postdate"];               //Postdate
                //To collect Payment Gateway Transaction ID, this value will be used in dual verification request
                ResTranId = Request["tranid"];                  //Transaction ID
                ResAuth   = Request["auth"];                    //Auth Code
                ResRef    = Request["ref"];                     //Reference Number also called Seq Number
                //To collect amount from response
                ResAmount = Request["amt"];                     //Transaction Amount

                Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("GetHandleHDFCResponse Result: " + ResResult);

                Resudf1 = Request["udf1"];                              //UDF1
                Resudf2 = Request["udf2"];                              //UDF2
                Resudf3 = Request["udf3"];                              //UDF3
                Resudf4 = Request["udf4"];                              //UDF4
                Resudf5 = Request["udf5"];                              //UDF5
                //LIST OF PARAMETERS RECEIVED BY MERCHANT FROM PAYMENT GATEWAY ENDS HERE
                //====================================================================================================================================
                ;

                /* Merchant (ME) checks, if error number is NOT present, then create Dual Verification
                 * request, send to Paymnent Gateway. ME SHOULD ONLY USE PAYMENT GATEWAY TRAN ID FOR DUAL
                 * VERIFICATION */
                /* NOTE - MERCHANT MUST LOG THE RESPONSE RECEIVED IN LOGS AS PER BEST PRACTICE */
                if (ResErrorNo == null)
                {
                    //check result is captured or approved i.e. successful
                    if (ResResult == "CAPTURED" || ResResult == "APPROVED")//If resulr is CAPTURED or APPROVED then below Code is execute for dual inquiry
                    {
                        //result is successful, hence create dual verification request
                        Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("GetHandleHDFCResponse Payment Successful ");

                        //ID given by bank to Merchant (Tranportal ID), same iD that was passed in initial request
                        //string ReqTranportalId = "<id>" + HDFCTransPortalID + "</id>";
                        string ReqTranportalId = "<id>90001457</id>";

                        //Password given by bank to merchant (Tranportal Password), same password that was passed in initial request
                        //string ReqTranportalPassword = "******" + HDFCTranportalPwd + "</password>";
                        string ReqTranportalPassword = "******";

                        // Pass DUAL VERIFICATION action code, always pass "8" for DUAL VERIFICATION
                        string INQAction = "<action>8</action>";

                        //Pass PG Transaction ID for Dual Verification
                        string INQTransId = "<transid>" + ResTranId + "</transid>";

                        //create string for request of input parameters
                        string INQRequest = ReqTranportalId + ReqTranportalPassword + INQAction + INQTransId;

                        //DUAL VERIFIACTION URL, this is test environment URL, contact bank for production DUAL Verification URL
                        Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("GetHDFCResponse: DUAL VERIFICATION");
                        string INQUrl = "https://securepgtest.fssnet.co.in/pgway/servlet/TranPortalXMLServlet";

                        try
                        {
                            //create a SSL connection xmlhttp formated object server-to-server
                            System.IO.StreamWriter myWriter = null;
                            // it will open a http connection with provided url
                            System.Net.HttpWebRequest objRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(INQUrl);//send data using objxmlhttp object
                            objRequest.Method        = "POST";
                            objRequest.ContentLength = INQRequest.Length;
                            objRequest.ContentType   = "application/x-www-form-urlencoded"; //to set content type
                            myWriter = new System.IO.StreamWriter(objRequest.GetRequestStream());
                            myWriter.Write(INQRequest);                                     //send data
                            myWriter.Close();                                               //closed the myWriter object

                            System.Net.HttpWebResponse objResponse = (System.Net.HttpWebResponse)objRequest.GetResponse();
                            //receive the responce from objxmlhttp object
                            using (System.IO.StreamReader sr = new System.IO.StreamReader(objResponse.GetResponseStream()))
                            {
                                TranInqResponse = sr.ReadToEnd();

                                string[] INQCheck = GetStringInBetween(TranInqResponse, "<result>", "</result>", false, false);//This line will check if any error in TranInqResponse
                                if (INQCheck[0] == "CAPTURED" || INQCheck[0] == "APPROVED")
                                {
                                    //XML response received for DUAL VERIFICATION.

                                    /*
                                     * NOTE - MERCHANT MUST LOG THE RESPONSE RECEIVED IN LOGS AS PER BEST PRACTICE
                                     */
                                    Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("GetHandleHDFCResponse Payment Successful ");

                                    //Collect DUAL VERIFICATION RESULT
                                    string[] INQResResult  = GetStringInBetween(TranInqResponse, "<result>", "</result>", false, false);   //It will give DualInquiry Result
                                    string[] INQResAmount  = GetStringInBetween(TranInqResponse, "<amt>", "</amt>", false, false);         //It will give Amount
                                    string[] INQResTrackId = GetStringInBetween(TranInqResponse, "<trackid>", "</trackid>", false, false); //It will give TrackID ENROLLED

                                    //MERCHANT CAN GET ALL VERIFICATION RESULT PARAMETERS USING BELOW CODE

                                    string[] INQResAutht    = GetStringInBetween(TranInqResponse, "<auth>", "</auth>", false, false);         //It will give Auth
                                    string[] INQResRef      = GetStringInBetween(TranInqResponse, "<ref>", "</ref>", false, false);           //It will give Ref.NO.
                                    string[] INQResAvr      = GetStringInBetween(TranInqResponse, "<avr>", "</avr>", false, false);           //It will give AVR
                                    string[] INQResPostdate = GetStringInBetween(TranInqResponse, "<postdate>", "</postdate>", false, false); //It will give  postdate
                                    string[] INQResTranid   = GetStringInBetween(TranInqResponse, "<tranid>", "</tranid>", false, false);     //It will give tranid
                                    string[] INQResPayid    = GetStringInBetween(TranInqResponse, "<payid>", "</payid>", false, false);       //It will give payid
                                    string[] INQResUdf1     = GetStringInBetween(TranInqResponse, "<udf1>", "</udf1>", false, false);         //It will give udf1
                                    string[] INQResUdf2     = GetStringInBetween(TranInqResponse, "<udf2>", "</udf2>", false, false);         //It will give udf2
                                    string[] INQResUdf3     = GetStringInBetween(TranInqResponse, "<udf3>", "</udf3>", false, false);         //It will give udf3
                                    string[] INQResUdf4     = GetStringInBetween(TranInqResponse, "<udf4>", "</udf4>", false, false);         //It will give udf4
                                    string[] INQResUdf5     = GetStringInBetween(TranInqResponse, "<udf5>", "</udf5>", false, false);         //It will give udf5

                                    /*
                                     * IMPORTANT NOTE - MERCHANT DOES RESPONSE HANDLING AND VALIDATIONS OF
                                     * TRACK ID, AMOUNT AT THIS PLACE. THEN ONLY MERCHANT SHOULD UPDATE
                                     * TRANACTION PAYMENT STATUS IN MERCHANT DATABASE AT THIS POSITION
                                     * AND THEN REDIRECT CUSTOMER ON RESULT PAGE
                                     */

                                    /* !!IMPORTANT INFORMATION!!
                                     * During redirection, ME can pass the values as per ME requirement.
                                     * NOTE: NO PROCESSING should be done on the RESULT PAGE basis of values passed in the RESULT PAGE from this page.
                                     * ME does all validations on the responseURL page and then redirects the customer to RESULT
                                     * PAGE ONLY FOR RECEIPT PRESENTATION/TRANSACTION STATUS CONFIRMATION
                                     * For demonstration purpose the result and track id are passed to Result page
                                     */
                                    Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("GetHandleHDFCResponse Showing Status...");

                                    string redirectURL = KoDTicketingIPAddress + "RoyalCard/Account/Payment/Print-Receipt.aspx";
                                    Response.Write("REDIRECT=" + redirectURL + "Transaction Success [" + INQResResult[0] + "]&ResTrackId=" + INQResTrackId[0] + "&ResAmount=" + INQResAmount[0]);
                                }
                                else
                                {
                                    /*
                                     * ERROR IN TRANSACTION PROCESSING
                                     * IMPORTANT NOTE - MERCHANT SHOULD UPDATE
                                     * TRANACTION PAYMENT STATUS IN MERCHANT DATABASE AT THIS POSITION
                                     * AND THEN REDIRECT CUSTOMER ON RESULT PAGE
                                     */
                                    string redirectURL = KoDTicketingIPAddress + "RoyalCard/Account/Payment/HDFC/FailedTRAN.aspx?Message=";
                                    Response.Write("REDIRECT=" + redirectURL + "Transaction Failed&ResTrackId=" + ResTrackID + "&ResAmount=" + ResAmount + "&ResError=" + INQCheck[0]);
                                }
                            }
                        }
                        catch (Exception Ex)
                        {
                            Response.Write(Ex.Message);// any excpetion occurred for above code exception throws here
                        }
                    }
                    else
                    {
                        /*
                         * IMPORTANT NOTE - MERCHANT SHOULD UPDATE
                         * TRANACTION PAYMENT STATUS IN MERCHANT DATABASE AT THIS POSITION
                         * AND THEN REDIRECT CUSTOMER ON RESULT PAGE
                         */
                        string redirectURL = KoDTicketingIPAddress + "RoyalCard/Account/Payment/HDFC/StatusTRAN.aspx?ResResult=";
                        Response.Write("REDIRECT=" + redirectURL + "=Transaction Failed [" + ResResult + "]&ResTrackId=" + ResTrackID + "&ResAmount=" + ResAmount);
                    }
                }
                else
                {
                    /*
                     * ERROR IN TRANSACTION PROCESSING
                     * IMPORTANT NOTE - MERCHANT SHOULD UPDATE
                     * TRANACTION PAYMENT STATUS IN MERCHANT DATABASE AT THIS POSITION
                     * AND THEN REDIRECT CUSTOMER ON RESULT PAGE
                     */
                    string redirectURL = KoDTicketingIPAddress + "RoyalCard/Account/Payment/HDFC/FailedTRAN.aspx?Message=";
                    Response.Write("REDIRECT=" + redirectURL + "Transaction Failed&ResTrackId=" + ResTrackID + "&ResAmount=" + ResAmount + "&ResError=" + ResErrorText);
                }
            }
        }
        catch (Exception Ex)
        {
            Response.Write(Ex.Message);// any excpetion occurred for above code exception throws here
        }
    }//page load event ends here
Esempio n. 49
0
            public static Tuple <HttpStatusCode, string> Post(string url, Dictionary <string, string> param, Dictionary <string, string> header)
            {
                Stopwatch Watch = new Stopwatch();

                Watch.Start();
                try
                {
                    System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)WebRequest.Create(url);
                    request.Method = "POST";
                    request.Headers.Add("UcAsp.Net_RPC", "true");
                    request.ContentType = "application/x-www-form-urlencoded";
                    request.KeepAlive   = false;
                    request.Timeout     = 1000 * 30;
                    request.ServicePoint.Expect100Continue = false;
                    if (header != null)
                    {
                        foreach (KeyValuePair <string, string> kv in header)
                        {
                            request.Headers[kv.Key] = kv.Value;
                        }
                    }
                    StringBuilder sb = new StringBuilder();
                    if (param != null)
                    {
                        int i = 0;
                        if (param.ContainsKey(""))
                        {
                            sb.Append(param[""]);
                        }
                        else
                        {
                            foreach (KeyValuePair <string, string> kv in param)
                            {
                                if (i == 0)
                                {
                                    sb.AppendFormat("{0}={1}", kv.Key, kv.Value);
                                }
                                else
                                {
                                    sb.AppendFormat("&{0}={1}", kv.Key, kv.Value);
                                }
                            }
                        }
                    }

                    byte[] payload = System.Text.Encoding.UTF8.GetBytes(sb.ToString());
                    request.ContentLength = payload.Length;
                    System.IO.Stream writer = request.GetRequestStream();
                    writer.Write(payload, 0, payload.Length);
                    System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();
                    string     responseText             = string.Empty;
                    GZipStream gzip = new GZipStream(response.GetResponseStream(), CompressionMode.Decompress); //解压缩
                    using (StreamReader reader = new StreamReader(gzip, Encoding.UTF8))                         //中文编码处理
                    {
                        responseText = reader.ReadToEnd();
                    }

                    writer.Close();

                    return(new Tuple <HttpStatusCode, string>(response.StatusCode, responseText));
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                    return(new Tuple <HttpStatusCode, string>(HttpStatusCode.Moved, "{\"msg\":\"" + ex.Message + "\"}"));
                }
                finally
                {
                    Watch.Stop();
                }
            }
Esempio n. 50
0
        virtual public string HttpPost(string xmlRequest, Dictionary <String, String> config)
        {
            string logFile = null;

            if (config.ContainsKey("logFile"))
            {
                logFile = config["logFile"];
            }

            string uri = config["url"];

            System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
            System.Net.HttpWebRequest req = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(uri);

            bool neuter = false;

            if (config.ContainsKey("neuterAccountNums"))
            {
                neuter = ("true".Equals(config["neuterAccountNums"]));
            }

            bool printxml = false;

            if (config.ContainsKey("printxml"))
            {
                if ("true".Equals(config["printxml"]))
                {
                    printxml = true;
                }
            }
            if (printxml)
            {
                Console.WriteLine(xmlRequest);
                Console.WriteLine(logFile);
            }

            //log request
            if (logFile != null)
            {
                log(xmlRequest, logFile, neuter);
            }

            req.ContentType = "text/xml";
            req.Method      = "POST";
            req.ServicePoint.MaxIdleTime       = 10000;
            req.ServicePoint.Expect100Continue = false;
            if (isProxyOn(config))
            {
                WebProxy myproxy = new WebProxy(config["proxyHost"], int.Parse(config["proxyPort"]));
                myproxy.BypassProxyOnLocal = true;
                req.Proxy = myproxy;
            }

            // submit http request
            using (var writer = new StreamWriter(req.GetRequestStream()))
            {
                writer.Write(xmlRequest);
            }



            // read response
            System.Net.WebResponse resp = req.GetResponse();
            if (resp == null)
            {
                return(null);
            }
            string xmlResponse;

            using (var reader = new System.IO.StreamReader(resp.GetResponseStream()))
            {
                xmlResponse = reader.ReadToEnd().Trim();
            }
            if (printxml)
            {
                Console.WriteLine(xmlResponse);
            }

            //log response
            if (logFile != null)
            {
                log(xmlResponse, logFile, neuter);
            }

            return(xmlResponse);
        }
Esempio n. 51
0
        /// <summary>
        /// Calls a webservice specified by its url and passing it the parameters
        /// </summary>
        /// <param name="url">Url of the service to call</param>
        /// <param name="oauthToken">oauth token (if exists)</param>
        /// <param name="oauthTokenSecret">oauth token secret (if exists)</param>
        /// <param name="extraParameters">the list of parameters to send the service</param>
        /// <returns></returns>
        public string request(Uri url, string httpMethod, string oauthToken, string oauthTokenSecret, List <QueryParameter> extraParameters)
        {
            httpMethod = httpMethod.ToUpper();
            string normalizedUrl = String.Empty;
            string normalizedUrlWithParameters = String.Empty;

            // Generate the parameters based on the Oauth Configuration of the Consumer
            List <QueryParameter> parameters = new List <QueryParameter>();

            parameters.Add(new QueryParameter("oauth_consumer_key", this._consumer.OauthConfig.ConsumerKey));
            parameters.Add(new QueryParameter("oauth_nonce", this._generateNonce()));
            parameters.Add(new QueryParameter("oauth_timestamp", this._generateTimestamp()));
            parameters.Add(new QueryParameter("oauth_signature_method", this._consumer.OauthConfig.OauthSignatureMethod));
            parameters.Add(new QueryParameter("oauth_version", this._consumer.OauthConfig.OauthVersion));

            // Add the OauthToken and OAuthTokenSecret if they are valued
            if (oauthToken != null && oauthToken != String.Empty && oauthToken.Length > 0)
            {
                parameters.Add(new QueryParameter("oauth_token", oauthToken));
            }
            if (oauthTokenSecret != null && oauthTokenSecret != String.Empty && oauthTokenSecret.Length > 0)
            {
                parameters.Add(new QueryParameter("oauth_token_secret", oauthTokenSecret));
            }
            if (extraParameters != null)
            {
                foreach (QueryParameter param in extraParameters)
                {
                    parameters.Add(param);
                }
            }

            // Generate the OAuth Signature and add it to the parameters
            string signature = this._generateSignature(url, httpMethod, parameters, this._consumer.OauthConfig.OauthSignatureMethod, this._consumer.OauthConfig.ConsumerSecret, oauthTokenSecret, out normalizedUrl, out normalizedUrlWithParameters);

            parameters.Add(new QueryParameter("oauth_signature", signature));

            try
            {
                string oauthUrl = "";
                if (httpMethod == "GET")
                {
                    oauthUrl = normalizedUrl + '?' + normalizedUrlWithParameters + "&oauth_signature=" + signature;
                }
                else
                {
                    oauthUrl = normalizedUrl;
                }

                System.Net.HttpWebRequest request = System.Net.HttpWebRequest.Create(oauthUrl) as System.Net.HttpWebRequest;
                request.ProtocolVersion = HttpVersion.Version10;

                if (httpMethod == "POST")
                {
                    /*StringBuilder postRequest = new StringBuilder();
                     * int countParams = 0;
                     * foreach (QueryParameter param in extraParameters)
                     * {
                     *  if (countParams > 0) postRequest.Append('&');
                     *  postRequest.Append(param.Name + "=" + HttpUtility.UrlEncode(param.Value));
                     * }*/
                    string postRequest   = normalizedUrlWithParameters;
                    Byte[] bufferrequest = System.Text.Encoding.UTF8.GetBytes(postRequest + "&oauth_signature=" + signature);
                    request.Method        = "POST";
                    request.ContentType   = "application/x-www-form-urlencoded";
                    request.ContentLength = bufferrequest.Length;
                    System.IO.Stream requestStream = request.GetRequestStream();
                    requestStream.Write(bufferrequest, 0, bufferrequest.Length);
                    requestStream.Close();
                }

                System.Net.HttpWebResponse response = request.GetResponse() as System.Net.HttpWebResponse;
                System.IO.StreamReader     reader   = new System.IO.StreamReader(response.GetResponseStream());
                String content = reader.ReadToEnd();
                return(content);
            }
            catch (WebException e)
            {
                base._debug(e.Message);
                return("");
            }
        }
    protected void btn_Submit_Click(object sender, EventArgs e)
    {
        string mailer = "";

        if (Request.QueryString["source"] != null)
        {
            mailer = Request.QueryString["source"].ToString();
        }
        string Package  = ddl_Package1.SelectedItem.ToString();
        int    Quantity = Convert.ToInt16(ddl_Quantity.SelectedValue);

        string[] amt           = Package.Split('.');
        decimal  TotalAmount   = Convert.ToDecimal(amt[1]) * Quantity;
        DateTime DateofBooking = DateTime.Now.Date;
        string   ISDCode       = "91";
        // String BookingID = KODVL00000; //for the FirstTime//
        TransactionRecord tr = new TransactionRecord();

        tr.VLBookingID   = GTICKBOL.ValentineBooking_Max();
        tr.Quantity      = Convert.ToInt16(Quantity);
        tr.VLTotalAmount = Convert.ToDecimal(TotalAmount);
        string vlbookingid = MaxBookingId(tr.VLBookingID.ToString());

        tr.VLBookingID = vlbookingid;


        GTICKBOL.ValentineBooking_Details(amt[1], Quantity, Convert.ToDecimal(TotalAmount.ToString()), DateofBooking, tr.VLBookingID.ToString(), txtName.Text.ToString(), txtEmail.Text.ToString(), txtContact.Text.ToString(), false, "", GetIP(), "Valentine_2014", mailer);

        //********Payment GateWay Flow******//

        Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write(tr.VLBookingID.ToString() + "Sending to HDFC Payment Gateway");
        string trackid, amount;
        string URL = "";

        trackid            = tr.VLBookingID.ToString();
        Session["trackid"] = trackid;
        amount             = TotalAmount.ToString();


        String ErrorUrl    = KoDTicketingIPAddress + "ValentineAffair/HDFC/Error.aspx";
        String ResponseUrl = KoDTicketingIPAddress + "ValentineAffair/HDFC/ReturnReceipt.aspx";

        string qrystr = "id=" + HDFCTransPortalID + "&password="******"&action=1&langid=USA&currencycode=356&amt=" + amount
                        + "&responseURL=" + Server.UrlEncode(ResponseUrl) + "&errorURL=" + Server.UrlEncode(ErrorUrl)
                        + "&trackid=" + trackid
                        + "&udf1=TicketBooking&udf2=" + txtEmail.Text.Trim()
                        + "&udf3=" + Server.UrlEncode(ISDCode.ToString().TrimStart('+') + txtContact.Text) + "&udf4=" + Server.UrlEncode(txtName.Text.Trim()) + "&udf5=" + tr.BookingID.ToString();

        Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("Preparing for HDFC Payment..." + qrystr);

        System.IO.StreamWriter requestWriter = null;
        Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("Redirecting for HDFC Payment..." + HDFCTransUrl);
        System.Net.HttpWebRequest objRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(HDFCTransUrl);   //create a SSL connection object server-to-server
        objRequest.Method          = "POST";
        objRequest.ContentLength   = qrystr.Length;
        objRequest.ContentType     = "application/x-www-form-urlencoded";
        objRequest.CookieContainer = new System.Net.CookieContainer();

        try
        {
            Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("Processing request for HDFC Payment...");
            requestWriter = new System.IO.StreamWriter(objRequest.GetRequestStream());  // here the request is sent to payment gateway
            requestWriter.Write(qrystr);
        }
        catch (Exception ex)
        {
            Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("Excetion while processing HDFC payment: " + trackid + ex.Message);
        }

        if (requestWriter != null)
        {
            requestWriter.Close();
        }

        Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("Review validation response from HDFC Payment Gateway...");
        System.Net.HttpWebResponse objResponse = (System.Net.HttpWebResponse)objRequest.GetResponse();

        using (System.IO.StreamReader sr =
                   new System.IO.StreamReader(objResponse.GetResponseStream()))
        {
            String NSDLval = sr.ReadToEnd();
            Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("Response: " + NSDLval);
            if (NSDLval.Contains("Invalid User Defined Field"))
            {
                lblMess.Text = "The information submitted contains some invalid character, please avoid using [+,-,#] etc.";
                return;
            }

            //Writefile_new("\n***************Initial Response********************", Server.MapPath("~"));
            //Writefile_new("\n\nDateTime:" + DateTime.Now.ToString("dd/MM/yy HH:mm:ss") + " Reference No:" + trackId + "Request XML:" + NSDLval, Server.MapPath("~"));
            if (NSDLval.IndexOf("http") == -1)
            {
                lblMess.Text = "Payment cannot be processed with information provided.";
                return;
            }

            // gb.HDFCLog(transid.ToString(), "", trackId, "***Initial Response*** : " + NSDLval);
            string strPmtId  = NSDLval.Substring(0, NSDLval.IndexOf(":http"));  // Merchant MUST map (update) the Payment ID received with the merchant Track Id in his database at this place.
            string strPmtUrl = NSDLval.Substring(NSDLval.IndexOf("http"));
            if (strPmtId != String.Empty && strPmtUrl != String.Empty)
            {
                URL = strPmtUrl.ToString() + "?PaymentID=" + strPmtId;
            }
            else
            {
                lblMess.Text = "Invalid Response!";
            }
            sr.Close();
        }
        Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("Payment Redirection: " + URL);
        Response.Redirect(URL, false);
    }
Esempio n. 53
0
        /// <summary>
        /// Método para consultar la información de TCMM
        /// </summary>
        /// <param name="informacionTCMMRequest">Objeto petición con información de TCMM asociada</param>
        /// <param name="imprimirTicket">Parámetro que indica si el Ticket debe imprimirse</param>
        /// <returns></returns>
        public ResponseBussiness <InformacionTCMMResponse> ConsultarInformacionTCMM(InformacionTCMMRequest informacionTCMMRequest, Boolean imprimirTicket)
        {
            return(tryCatch.SafeExecutor(() =>
            {
                InformacionTCMMResponse informacion = new InformacionTCMMResponse();
                Inspector inspector = new Inspector();
                InfoService infoService = new InfoService();
                InformacionServiciosExternosBusiness informacionServiciosExternosBusiness = new InformacionServiciosExternosBusiness();
                //NOTA: Unicamente se manda a llamar la URL ya que en el web.config se tiene como keys, y no se esta conectando el servicio mediante vs
                infoService = informacionServiciosExternosBusiness.ObtenerCadenaServicioExterno(6);
                var cadenaURL = infoService.UrlService;
                System.Net.HttpWebRequest webrequest = (HttpWebRequest)System.Net.WebRequest.Create(cadenaURL);
                //webrequest.Headers.Add ("Authorization","Basic dXNybW13czpNMWw0bjAqMjAxOA==");
                webrequest.Headers.Add("Authorization", credenciales.Licence);
                webrequest.Method = "POST";
                webrequest.ContentType = "application/json";

                using (var streamWriter = new StreamWriter(webrequest.GetRequestStream()))
                {
                    string json = "{\"User\":\"" + credenciales.UserName + "\"," +
                                  "\"Pwd\":\"" + credenciales.Password + "\"," +
                                  "\"CardId\":\"" + informacionTCMMRequest.NumeroTarjeta + "\"}";
                    streamWriter.Write(json);
                    streamWriter.Flush();
                    streamWriter.Close();
                }

                var httpResponse = (HttpWebResponse)webrequest.GetResponse();
                using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
                {
                    var result = streamReader.ReadToEnd();
                    dynamic resultadoTemporal = JsonConvert.DeserializeObject(result);

                    informacion.CodigoRespuestaTCMM = new CodigoRespuestaTCMM();
                    informacion.CodigoRespuestaTCMM.CodigoRespuesta = resultadoTemporal.ErrorCode;
                    informacion.CodigoRespuestaTCMM.MensajeRetorno = resultadoTemporal.Message;

                    if (informacion.CodigoRespuestaTCMM.CodigoRespuesta == "0")
                    {
                        informacion.SaldoEnLinea = resultadoTemporal.Response.Balance;
                        informacion.SaldoAlCorte = resultadoTemporal.Response.LastBalance;
                        if (resultadoTemporal.Response.PaymentDate.ToString() != string.Empty)
                        {
                            informacion.FechaLimitePago = DateTime.Parse(resultadoTemporal.Response.PaymentDate.ToString()).ToString();
                        }
                        informacion.PagoMinimo = resultadoTemporal.Response.PeriodAmount;
                        informacion.SaldoEnPuntos = resultadoTemporal.Response.BalancePoints;
                        informacion.EquivalenteEnPuntos = resultadoTemporal.Response.BalancePointsEq;
                        informacion.PuntosAcumuladosUltimoCorte = resultadoTemporal.Response.PeriodPoints;
                        informacion.MontoPagoSinIntereses = resultadoTemporal.Response.NoInterestPaymentAmount;
                        // Realizar el proceso de Truncado
                        informacion.SaldoEnLinea = inspector.TruncarValor(informacion.SaldoEnLinea);
                        informacion.SaldoAlCorte = inspector.TruncarValor(informacion.SaldoAlCorte);
                        informacion.PagoMinimo = inspector.TruncarValor(informacion.PagoMinimo);
                        informacion.EquivalenteEnPuntos = inspector.TruncarValor(informacion.EquivalenteEnPuntos);
                        informacion.MontoPagoSinIntereses = inspector.TruncarValor(informacion.MontoPagoSinIntereses);
                    }
                }

                if (imprimirTicket)
                {
                    // Persistencia de Consulta de Saldo
                    melodyMilanoRepository.PersistirConsultarInformacionTCMM(token.CodeBox, token.CodeStore, token.CodeEmployee, informacion.SaldoEnLinea, informacion.SaldoAlCorte, informacion.FechaLimitePago, informacion.PagoMinimo, informacion.SaldoEnPuntos, informacion.EquivalenteEnPuntos, informacion.PuntosAcumuladosUltimoCorte);

                    //Impresión de Tickets de Consulta de Saldo
                    PrintTicketConsultaSaldo printTicketConsultaSaldo = new PrintTicketConsultaSaldo(token);
                    OperationResponse operationResponse = new OperationResponse();
                    OperationResponse operation = printTicketConsultaSaldo.PrintNow(informacionTCMMRequest.NumeroTarjeta);
                }

                return informacion;
            }));
        }
Esempio n. 54
0
        public string post(string accesstoken)
        {
            string id    = "";
            string name1 = "";
            string url1  = "";
            int    j;
            int    i;
            //string name3 = "";
            //string url3 = "";
            string    sqlLev1 = "SELECT * from asm_menu where pid='0' and companyID=" + this.com_id.Value;
            DataTable dtLev1 = DbHelperSQL.Query(sqlLev1).Tables[0];
            string    minAppid = DbHelperSQL.Query("select * from asm_company where id=" + this.com_id.Value).Tables[0].Rows[0]["minAppid"].ToString();
            string    str = "{\"button\":[";
            string    s1 = "", s2 = "";

            if (dtLev1.Rows.Count > 0)
            {
                string ss = "";
                for (int m = 0; m < dtLev1.Rows.Count; m++)
                {
                    id    = dtLev1.Rows[m]["id"].ToString();
                    name1 = dtLev1.Rows[m]["name"].ToString();
                    url1  = dtLev1.Rows[m]["url"].ToString();
                    string    sqlLev2 = "SELECT * from asm_menu where  pid='" + id + "' and companyID=" + this.com_id.Value;
                    DataTable dtLev2  = DbHelperSQL.Query(sqlLev2).Tables[0];
                    if (dtLev2.Rows.Count > 0)
                    {
                        s2 = "{\"name\":\"" + name1 + "\",\"sub_button\":[";
                        for (int n = 0; n < dtLev2.Rows.Count; n++)
                        {
                            s2 += "{\"type\":\"view\",\"name\":\"" + dtLev2.Rows[n]["name"].ToString() + "\",\"url\":\"" + dtLev2.Rows[n]["url"].ToString() + "\"},";
                        }
                        ss += s2.Substring(0, s2.Length - 1) + "]},";
                    }
                    else
                    {
                        //s1 += "{\"type\":\"view\",\"name\":\"" + name1 + "\",\"url\":\"" + url1 + "\"},";
                        s1  = "{\"type\":\"miniprogram\",\"name\":\"" + name1 + "\",\"url\":\"http://mp.weixin.qq.com\",\"appid\":\"" + minAppid + "\",\"pagepath\":\"" + url1 + "\"},";
                        ss += s1;
                    }
                }
                if (!string.IsNullOrEmpty(ss))
                {
                    str += ss.Substring(0, ss.Length - 1) + "]}";
                }
                Util.Debuglog("str=" + str, "自定义菜单.txt");
                string responeJsonStr = str;
                int    a = 0, b = 0, c = 0;
                string postData                         = null;
                System.Net.HttpWebRequest request       = default(System.Net.HttpWebRequest);
                System.IO.Stream          requestStream = default(System.IO.Stream);
                byte[] postBytes                        = null;
                //封装参数
                postData = "a=" + a + "&b=" + b + "&c=" + c;
                string url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=" + accesstoken;
                request             = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
                request.ContentType = "application/x-www-form-urlencoded";
                //request.ContentLength = responeJsonStr.Length;
                request.Timeout           = 10000;
                request.Method            = "POST";
                request.AllowAutoRedirect = false;
                requestStream             = request.GetRequestStream();
                postBytes = System.Text.Encoding.UTF8.GetBytes(responeJsonStr.ToString());
                requestStream.Write(postBytes, 0, postBytes.Length);
                requestStream.Close();
                HttpWebResponse res        = request.GetResponse() as HttpWebResponse;
                Stream          inStream   = res.GetResponseStream();
                StreamReader    sr         = new StreamReader(inStream, Encoding.UTF8);
                string          htmlResult = sr.ReadToEnd();
                Util.Debuglog("htmlResult=" + htmlResult, "_设置菜单.txt");

                return(htmlResult);
            }
            else
            {
                return("");
            }
        }
Esempio n. 55
0
        public void AddVariable()
        {
            string url = "http://worldwater.byu.edu/app/index.php/default/services/api/variables";

            System.Net.HttpWebRequest request = (HttpWebRequest)System.Net.HttpWebRequest.Create(url);

            request.Method = "POST";

            request.ContentType = "application/json";

            using (var streamWriter = new StreamWriter(request.GetRequestStream()))
            {
                string json = @"{'user': '******',
                        'password': '******',
                        'VariableCode': 'AQTC',
                        'VariableName':'Color',
                        'Speciation':'Unknown',
                        'VariableUnitsID':189,
                        'SampleMedium':'Groundwater',
                        'ValueType':'Sample',
                        'IsRegular':1,
                        'TimeSupport':0,
                        'TimeUnitsID':100,
                        'DataType':'Average',
                        'GeneralCategory':'Hydrology',
                        'NoDataValue': 999}";


                json = json.Replace("'", "\"");
                streamWriter.Write(json);
                streamWriter.Flush();
                streamWriter.Close();
            }


            try
            {
                using (WebResponse response = request.GetResponse())
                {
                    using (var streamReader = new StreamReader(response.GetResponseStream()))
                    {
                        var result = streamReader.ReadToEnd();
                        MessageBox.Show(result);
                    }
                }
            }
            catch (WebException ex)
            {
                using (WebResponse response = ex.Response)
                {
                    HttpWebResponse httpResponse = (HttpWebResponse)response;
                    string          errorCode    = string.Format("Error code: {0} ", httpResponse.StatusCode);
                    using (Stream data = response.GetResponseStream())
                        using (var reader = new StreamReader(data))
                        {
                            string text = reader.ReadToEnd();
                            MessageBox.Show(errorCode + text);
                        }
                }
            }
        }
Esempio n. 56
0
 /// <summary>
 /// Recupera a stream para enviar os dados da requisição.
 /// </summary>
 /// <param name="item"></param>
 /// <param name="request"></param>
 /// <returns></returns>
 private System.IO.Stream GetRequestStream(Colosoft.Net.IUploaderItem item, System.Net.HttpWebRequest request)
 {
     return(new TracingUploadStream(request.GetRequestStream(), this, item));
 }
Esempio n. 57
0
        public void wizz2(string iata, string timeFrom, int timeOffset = 24, int priceLimit = -1)
        {
            //HttpWebRequest.DefaultWebProxy = null;

            List <string> connections = getIatas(iata);

            foreach (string c in connections)
            {
                _cookieJar = new CookieContainer();
                System.Net.HttpWebRequest request = (HttpWebRequest)WebRequest.Create(getApiVersion() + "/search/search");
                request.Method = "POST";


                var jsonContent = new
                {
                    wdc         = true,
                    adultCount  = 1,
                    childCount  = 0,
                    infantCount = 0,
                    flightList  = new[]
                    {
                        new{ departureStation = iata, arrivalStation = c, departureDate = timeFrom }
                    }
                };

                request.Headers["Origin"]                    = "https://wizzair.com";
                request.Headers["Referer"]                   = "https://wizzair.com";
                request.ContentLength                        = (JsonConvert.SerializeObject(jsonContent)).Length;
                request.Headers["Accept-Language"]           = "pl-PL,pl;q=0.9,en-US;q=0.8,en;q=0.7";
                request.Headers["Accept-encoding"]           = "gzip, deflate, br";
                request.Headers["Upgrade-Insecure-Requests"] = "1";
                request.UserAgent = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36";
                request.Headers["Cache-Control"] = "max-age=0";
                request.Headers["x-requestverificationtoken"] = "252738a09ee44a77983f5a99d2984ebb";
                request.Headers["sec-fetch-dest"]             = "";
                request.Headers["sec-fetch-mode"]             = "cors";
                request.Headers["sec-fetch-site"]             = "same-site";
                request.KeepAlive = true;
                request.Expect    = "";
                request.Accept    = "application/json, text/javascript, */*";
                request.Headers["X-Requested-With"] = "XMLHttpRequest";
                request.ContentType     = "application/json";
                request.CookieContainer = _cookieJar;

                using (var streamWriter = new StreamWriter(request.GetRequestStream()))
                {
                    streamWriter.Write(JsonConvert.SerializeObject(jsonContent));
                }



                var    watch        = System.Diagnostics.Stopwatch.StartNew();
                var    httpResponse = (HttpWebResponse)request.GetResponse();
                String response     = "";
                using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
                {
                    response = streamReader.ReadToEnd();
                }
                watch.Stop();

                Console.WriteLine("Checking flights for " + c + " took " + watch.ElapsedMilliseconds + "ms.");

                dynamic result = JsonConvert.DeserializeObject(response);
                if (response != "")
                {
                    Console.WriteLine("Lot " + iata + " - " + result.outboundFlights[0].arrivalStation + ", wylot: " + result.outboundFlights[0].departureDateTime + ", przylot: " + result.outboundFlights[0].arrivalDateTime + ", cena: " + result.outboundFlights[0].fares[3].discountedPrice.amount);
                }
                else
                {
                    Console.WriteLine("Brak wyniku lub wynik niepewny!");
                }
            }
        }
Esempio n. 58
0
        public static string TransferXML(string strXML)
        {
            try
            {
                //1、从流中读取字节块,并将数据写入给定缓冲区
                System.IO.FileStream file = new System.IO.FileStream(strXML, System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.Read);
                file.Seek(0, System.IO.SeekOrigin.Begin);//设置文件流的当前位置
                int    iLen = (int)file.Length;
                byte[] data = new byte[iLen];
                file.Read(data, 0, iLen); //从流中读取字节块,并将数据写入给定缓冲区
                file.Close();             //关闭流并释放资源

                //2、初始化WebRequest实例  连接NC服务器
                string strURI = NCServer;
                System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(strURI);//初始化WebRequest实例  连接NC服务器
                if (request == null)
                {
                    return("连接NC服务器失败");
                }
                request.Method        = "POST";
                request.ContentType   = "text/xml; charset=gb2312";
                request.ContentLength = iLen;
                request.Timeout       = 500000; // 500秒
                try
                {
                    System.IO.Stream postDataStream = request.GetRequestStream();//字节序列的一般视图
                    postDataStream.Write(data, 0, iLen);
                    postDataStream.Close();
                }
                catch (Exception e)
                {
                    MessageBox.Show(e.Message);
                    return(e.Message.ToString());
                }


                //3、Get answer
                System.Net.HttpWebResponse resp;
                try
                {
                    resp = (HttpWebResponse)request.GetResponse();
                }
                catch (WebException err)
                {
                    MessageBox.Show(err.Status + " - " + err.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    resp = (HttpWebResponse)err.Response;
                    if (resp == null)
                    {
                        return(err.Message.ToString());;
                    }
                }
                catch (Exception err)
                {
                    MessageBox.Show("Error: " + err.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return(err.Message.ToString());;
                }

                //读取服务器响应的体
                Stream rcvStream = resp.GetResponseStream();
                byte[] respBytes = new byte[256];
                int    byteCount;

                //将服务器响应转换成字符串编码
                StringBuilder builder = new StringBuilder(); //可变字符字符串
                do
                {
                    byteCount = rcvStream.Read(respBytes, 0, 256);
                    System.Text.Encoding encoding = System.Text.Encoding.UTF8;
                    string inputString            = encoding.GetString(respBytes);
                    builder.Append(inputString);
                } while (byteCount > 0);

                XmlDocument doc    = new XmlDocument();
                string      xmlRet = builder.ToString();
                int         iPos   = xmlRet.IndexOf(@"</ufinterface>");
                xmlRet = xmlRet.Substring(0, iPos + ((string)@"</ufinterface>").Length);
                doc.LoadXml(xmlRet);

                string tok        = XmlGetElement(doc, "resultcode");
                string resultCont = XmlGetElement(doc, "resultdescription");
                resultCont = resultCont.Replace("\r\n", "");
                resultCont = resultCont.Replace("\t", "");
                resp.Close();
                rcvStream.Close();

                //返回正确写日志,否则丢弃
                if (!tok.Equals("1"))
                {
                    // MessageBox.Show(string.Format("调用NC接口错误!\r" + resultCont));
                    return(resultCont);
                }
                else
                {
                    //MessageBox.Show(string.Format("发送数据成功!"));
                    return("1");
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.ToString());
                return(e.ToString());
            }
        }
Esempio n. 59
0
        public bool CreateThread(string title, string name, string mailAddress, string contents)
        {
            Match  m                = GetRegexMatchURL();
            string url              = null;
            string postData         = null;
            string referer          = ThreadURL;
            int    jbbsBaseIndex    = 1;
            bool   isThreadCreation = title != null;

            if (!m.Success)
            {
                if (isThreadCreation)
                {
                    m = GetRegexMatchBaseURL();

                    if (!m.Success)
                    {
                        return(false);
                    }
                    jbbsBaseIndex = 0;
                    referer       = BaseURL;
                }
                else
                {
                    return(false);
                }
            }

            CookieContainer cookieContainer = new CookieContainer();


            DateTime writeTime = DateTime.Now;
            DateTime orgTime   = DateTime.Parse("1970/1/1 00:00:00");

            int unixTime = (int)((writeTime.ToFileTimeUtc() - orgTime.ToFileTimeUtc()) / 10000000);

            for (int i = 0; i < 2; i++)
            {
                switch (Response.Style)
                {
                case Response.BBSStyle.jbbs:
                {
                    url = string.Format("{0}/bbs/write.cgi", m.Groups[1].Value);

                    string submitText      = "書き込む";
                    string additionalParam = "";

                    if (isThreadCreation)
                    {
                        submitText       = "新規スレッド作成";
                        additionalParam += "&SUBJECT=" + UrlEncode(title);
                    }
                    else
                    {
                        additionalParam += "&KEY==" + m.Groups[5].Value;
                    }

                    postData = string.Format("DIR={0}&BBS={1}&TIME={2}&NAME={3}&MAIL={4}&MESSAGE={5}&submit={6}" + additionalParam
                                             , m.Groups[2 + jbbsBaseIndex].Value
                                             , m.Groups[3 + jbbsBaseIndex].Value
                                             , unixTime
                                             , UrlEncode(name)
                                             , UrlEncode(mailAddress)
                                             , UrlEncode(contents)
                                             , UrlEncode(submitText)
                                             );

                    break;
                }

                case Response.BBSStyle.yykakiko:
                case Response.BBSStyle.nichan:
                {
                    url = string.Format("{0}/test/bbs.cgi", m.Groups[1].Value);

                    string submitText      = "書き込む";
                    string additionalParam = "";
                    string nameText        = name;
                    string subject         = "";

                    if (isThreadCreation)
                    {
                        submitText       = "新規スレッド作成";
                        subject          = title;
                        additionalParam += "&subject=" + UrlEncode(subject);
                    }
                    else
                    {
                        additionalParam += "&key=" + m.Groups[3].Value;
                    }



                    if (i == 1)
                    {
                        submitText = "上記全てを承諾して書き込む";
                    }

                    if (Response.Style == Response.BBSStyle.nichan)
                    {
                        additionalParam += "&tepo=don";
                    }
                    else
                    {
                        additionalParam += "&MIRV=kakkoii";
                    }



                    postData = string.Format("bbs={0}&time={1}&FROM={2}&mail={3}&MESSAGE={4}&submit={5}" + additionalParam
                                             , m.Groups[2].Value
                                             , unixTime
                                             , UrlEncode(nameText)
                                             , UrlEncode(mailAddress)
                                             , UrlEncode(contents)
                                             , UrlEncode(submitText)
                                             );

                    if (i == 1)
                    {
                        url += "?guid=ON";
                    }

                    if (Response.Style == Response.BBSStyle.nichan && isThreadCreation)
                    {
                        referer = url;
                    }
                    break;
                }
                }

                byte[] postDataBytes = System.Text.Encoding.ASCII.GetBytes(postData);

                System.Net.HttpWebRequest webReq = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
                FormMain.UserConfig.SetProxy(webReq);

                webReq.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows XP)";

                //Cookieの設定
                webReq.CookieContainer = new CookieContainer();
                webReq.CookieContainer.Add(cookieContainer.GetCookies(webReq.RequestUri));
                //webReq.UserAgent = "Monazilla / 1.00(monaweb / 1.00)";

                //メソッドにPOSTを指定
                webReq.Method = "POST";

                //ContentTypeを"application/x-www-form-urlencoded"にする
                webReq.ContentType = "application/x-www-form-urlencoded";
                //POST送信するデータの長さを指定
                webReq.ContentLength = postDataBytes.Length;
                //
                webReq.Referer = referer;


                System.Net.HttpWebResponse webRes = null;

                try
                {
                    //データをPOST送信するためのStreamを取得
                    using (System.IO.Stream reqStream = webReq.GetRequestStream())
                    {
                        //送信するデータを書き込む
                        reqStream.Write(postDataBytes, 0, postDataBytes.Length);
                    }

                    webRes = (System.Net.HttpWebResponse)webReq.GetResponse();

                    //受信したCookieのコレクションを取得する
                    System.Net.CookieCollection cookies =
                        webReq.CookieContainer.GetCookies(webReq.RequestUri);
                    //Cookie名と値を列挙する
                    //foreach (System.Net.Cookie cook in cookies)
                    //{
                    //    Console.WriteLine("{0}={1}", cook.Name, cook.Value);
                    //}
                    //取得したCookieを保存しておく
                    cookieContainer.Add(cookies);


                    //応答データを受信するためのStreamを取得
                    System.IO.Stream resStream = webRes.GetResponseStream();
                    //受信して表示
                    using (System.IO.StreamReader sr = new System.IO.StreamReader(resStream, GetEncoding()))
                    {
                        ReturnText = sr.ReadToEnd();
                    }

                    if (ReturnText.IndexOf("書き込み確認") >= 0)
                    {
                        //referer = url;
                        continue;
                    }

                    string temp = ReturnText.Replace("\n", "");
                    m = htmlBodyRegex.Match(temp);

                    if (m.Success)
                    {
                        ReturnText = Response.ConvertToText(m.Groups[1].Value);
                    }



                    if (ReturnText.IndexOf("ERROR") >= 0 || ReturnText.IndexOf("ERROR") >= 0)
                    {
                        return(false);
                    }


                    return(true);
                }
                catch (Exception e)
                {
                    ReturnText = e.Message;
                    return(false);
                }
            }

            return(false);
        }
Esempio n. 60
-1
        /// <summary>
        /// Fetches the <see cref="scrape"/> after logging into the <see cref="url"/> with the specified <see cref="postdata"/>
        /// </summary>
        /// <param name="url">The URL to login at </param>
        /// <param name="postdata">The postdata to login with.</param>
        /// <param name="scrape">The page to scrape.</param>
        /// <returns>The fetched page</returns>
        private string GetPage(string url, string postdata, string scrape)
        {
            req = WebRequest.Create(url) as HttpWebRequest;
            CookieContainer cookies = new CookieContainer();
            req.ContentType = "application/x-www-form-urlencoded";
            req.Method = "POST";
            req.CookieContainer = cookies;

            StreamWriter requestWriter = new StreamWriter(req.GetRequestStream());
            requestWriter.Write(postdata);
            requestWriter.Close();

            req.GetResponse();
            cookies = req.CookieContainer;

            req = WebRequest.Create(scrape) as HttpWebRequest;
            req.CookieContainer = cookies;

            StreamReader responseReader = new StreamReader(req.GetResponse().GetResponseStream());

            string response = responseReader.ReadToEnd();
            responseReader.Close();

            return response;
        }