如何将记录从我们的应用程序更新到另一个应用程序! [英] How to update records from our application to another appication!

查看:56
本文介绍了如何将记录从我们的应用程序更新到另一个应用程序!的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



任何人都可以在这方面帮助我,例如我想通过传递有关值来访问一个站点到另一个站点,并且我尝试了下面显示如下的代码

 使用系统;
使用 System.Web; //  HttpUtility类
使用使用System.Threading;
使用 System.Text; // 编码类
使用 System.Net; //  HttpWebRequest类
使用 System.IO; // 用于StreamReader类

命名空间 sampleexe
{
     class  Class1
    {
        [STAThread]
        静态 无效 Main(字符串 []参数)
    {
            
        字符串 url = " ;


      字符串 viewstate = InitialViewState(url);

      viewstate = HttpUtility.UrlEncode(viewstate);
      字符串 data = "  + viewstate;
      字节 [] buffer = Encoding.UTF8.GetBytes(data);
      字符串 proxy = ;

      WebRequest req = WebRequest.Create(url);
      req.Method = " ;
      req.ContentType = " ;
      req.ContentLength = buffer.Length;
      req.Proxy =  WebProxy(代理,); // 忽略本地地址
      

      流reqst = req.GetRequestStream(); // 将表单数据添加到请求流
      reqst.Write(buffer, 0 ,buffer.Length);
      reqst.Flush();
      reqst.Close();

      Console.WriteLine(" 尝试
      {
          
          req.Credentials = CredentialCache.DefaultCredentials;
         //  HttpWebResponse response =(HttpWebResponse)req.GetResponse(); 
          HttpWebResponse res =(HttpWebResponse)req.GetResponse(); // 发送请求,获取响应
          Console.WriteLine(" );
          流resst = res.GetResponseStream(); // 显示HTTP响应
          StreamReader sr =  StreamReader(resst);
          Console.WriteLine(sr.ReadToEnd());
          sr.Close();
          resst.Close();
      }
      捕获(前System.Net.WebException)
      {
          字符串 responseFromServer = ex.Message.ToString()+ " ;
          如果(例如,响应!= )
          {
              使用(WebResponse响应= ex.Response)
              {
                  流数据11 = response.GetResponseStream();
                  使用(StreamReader reader =  StreamReader(data11))
                  {
                      responseFromServer + = reader.ReadToEnd();
                  }
              }
          }
          Console.WriteLine(responseFromServer);

      }
      
  
      Console.WriteLine(" );
      Console.ReadLine();
    } //  Main()

        静态 字符串 InitialViewState(字符串 url)
        {
            WebClient wc =  WebClient();
            流st = wc.OpenRead(url);
            StreamReader sr =  StreamReader(st);
            字符串行;
            同时((line = sr.ReadLine())!= )
            {
                如果(line.IndexOf(" )!= -1)// 找到一行
                {
                    sr.Close();
                    st.Close();
                     int  startIndex = line.IndexOf(" )+  7 ;
                     int  endIndex = line.IndexOf(" ,startIndex);
                     int  count = endIndex-startIndex;
                    返回行.Substring(startIndex,count);
                }

            }
            sr.Close();
            st.Close();
            返回 " ;
        } //  InitialViewState()

    } //  Class1 
} //  ns PostToASPdotNET  




这里我得到的错误是远程服务器返回了一个错误:(500)内部服务器Error.System.Net.HttpWebRequest.GetResponse()"

解决方案

VIEWSTATE已加密,可以防止任何恶意操作,并且在任何其他页面或网站上均无效.

Hi,

Can any one help me on this like i wants to access one site to another by passing regarding values and also i tried the below code that shows below

using System;
using System.Web;  // for HttpUtility class
using System.Threading;
using System.Text; // for Encoding class
using System.Net;  // for HttpWebRequest class
using System.IO;   // for StreamReader class

namespace sampleexe
{
    class Class1
    {
        [STAThread]
        static void Main(string[] args)
    {
            
        string url = "http://localhost:3974/Default.aspx";


      string viewstate = InitialViewState(url);

      viewstate = HttpUtility.UrlEncode(viewstate);
      string data = "TextBox1=red&TextBox2=empty&Button1=clicked&__VIEWSTATE="+viewstate;
      byte[] buffer = Encoding.UTF8.GetBytes(data);
      string proxy = null;

      WebRequest req = WebRequest.Create(url);
      req.Method = "POST";
      req.ContentType = "application/x-www-form-urlencoded";
      req.ContentLength = buffer.Length;
      req.Proxy = new WebProxy(proxy, true); // ignore for local addresses
      

      Stream reqst = req.GetRequestStream(); // add form data to request stream
      reqst.Write(buffer, 0, buffer.Length);
      reqst.Flush();
      reqst.Close();

      Console.WriteLine("\nPosting 'red' to " + url);
      try
      {
          
          req.Credentials = CredentialCache.DefaultCredentials;
         // HttpWebResponse response = (HttpWebResponse)req.GetResponse();
          HttpWebResponse res = (HttpWebResponse)req.GetResponse(); // send request,  get response
          Console.WriteLine("\nResponse stream is: \n");
          Stream resst = res.GetResponseStream(); // display HTTP response
          StreamReader sr = new StreamReader(resst);
          Console.WriteLine(sr.ReadToEnd());
          sr.Close();
          resst.Close();
      }
      catch (System.Net.WebException ex)
      {
          String responseFromServer = ex.Message.ToString() + " ";
          if (ex.Response != null)
          {
              using (WebResponse response = ex.Response)
              {
                  Stream data11 = response.GetResponseStream();
                  using (StreamReader reader = new StreamReader(data11))
                  {
                      responseFromServer += reader.ReadToEnd();
                  }
              }
          }
          Console.WriteLine(responseFromServer);

      } 
      
  
      Console.WriteLine("\nDone");
      Console.ReadLine();
    } // Main()

        static string InitialViewState(string url)
        {
            WebClient wc = new WebClient();
            Stream st = wc.OpenRead(url);
            StreamReader sr = new StreamReader(st);
            string line;
            while ((line = sr.ReadLine()) != null)
            {
                if (line.IndexOf("__VIEWSTATE") != -1) // found line
                {
                    sr.Close();
                    st.Close();
                    int startIndex = line.IndexOf("value=") + 7;
                    int endIndex = line.IndexOf("\"", startIndex);
                    int count = endIndex - startIndex;
                    return line.Substring(startIndex, count);
                }

            }
            sr.Close();
            st.Close();
            return "not found";
        } // InitialViewState()

    } // Class1
} // ns PostToASPdotNET




here the error i''m getting is "The remote server returned an error: (500) Internal Server Error.System.Net.HttpWebRequest.GetResponse()"

Please help me on this to resolve!

解决方案

VIEWSTATE is encrypted to prevent any malicious manipulation and wouldn''t be valid on any other page or site.


这篇关于如何将记录从我们的应用程序更新到另一个应用程序!的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆