使用程序自动登录网站

编程入门 行业动态 更新时间:2024-10-10 08:26:43

使用程序<a href=https://www.elefans.com/category/jswz/34/1758710.html style=自动登录网站"/>

使用程序自动登录网站

之前写过一篇使用代码自动登录网站,下载数据的博客程序自动登录和下载数据,后来在测试发现发现使用之前博客中的方法会导致网站系统异常,自然也就不能登录和下载数据了。但因为不是自己的网站不知道导致异常的原因,于是只能测试,后来发现是两个地方。1提交的数据中有特殊符号.2HttpWebRequest的Headers需要处理

  1提交的数据中有特殊符号.。例如+,=等

  都知道post方式提交数据时,会对一些特殊符号进行处理,例如=号,如果提交的数据中有"="如何处理呢

  例如post提交的数据时QH7GKc/+WrjdfHMyJKmiPw==,显然里边有特殊符号,如何处理呢,在客户端使用js函数encodeURIComponent

在csharp中使用Uri.EscapeDataString()使用这个方法

 ///将字符串转换为它的转义表示形式///输入 +=/ 输出 %2B%3D%2Fstring EscapeDataString =  Uri.EscapeDataString("+=/");

csharp中几个常用的特殊字符处理方法

private void Test(){//将字符串转换为它的转义表示形式//输入 +=/ 输出 %2B%3D%2Fstring EscapeDataString = Uri.EscapeDataString("+=/");// 将字符串转换为它的非转义表示形式//输入 %2B%3D%2F 输出 +=/string UnEscapeDataString = Uri.UnescapeDataString(EscapeDataString);//对 URL 字符串进行编码//输入  //输出 http%3a%2f%2fblog.csdn%2fxuexiaodong009%2farticle%2fdetails%2f74912461string UrlEncode = HttpUtility.UrlEncode("");//将已经为在 URL 中传输而编码的字符串转换为解码的字符串。//输入 http%3a%2f%2fblog.csdn%2fxuexiaodong009%2farticle%2fdetails%2f74912461 //输出  UnUrlEncode = HttpUtility.UrlDecode(UrlEncode);// 将字符串转换为 HTML 编码的字符串。// 输入<textarea id="URL" class="GuoLvWrapAgo" name="URL"></textarea>//输出 <textarea id="URL" class="GuoLvWrapAgo" name="URL"></textarea>string HtmlEncode = HttpUtility.HtmlEncode("<textarea id=\"URL\" class=\"GuoLvWrapAgo\" name=\"URL\"></textarea>");// 将已经为 HTTP 传输进行过 HTML 编码的字符串转换为已解码的字符串// 输入 <textarea id="URL" class="GuoLvWrapAgo" name="URL"></textarea>//输出 <textarea id="URL" class="GuoLvWrapAgo" name="URL"></textarea> string UNHtmlEncode = HttpUtility.HtmlDecode(HtmlEncode);
}



2HttpWebRequest的Headers需要处理

   因为Headers中保存了一些特殊信息,例如编码。语言等。web网站获取客户端服务端信息

  如果没有设置,在服务端处理时就会导致异常

常用的heads

 HttpWebRequest request = null;      //HTTPSQ请求  if (url.Contains("https")){ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);request = (HttpWebRequest)WebRequest.CreateDefault(new Uri(url));}else{request = (HttpWebRequest)WebRequest.Create(url);}request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8";request.Headers["Accept-Encoding"] = "gzip, deflate, br";request.Headers["Accept-Language"] = "zh-CN,zh;q=0.9,en;q=0.8";request.Headers["Cache-Control"] = "no-cache";request.KeepAlive = true;request.Host = "test.test:65188";request.Headers["Pragma"] = "no-cache";request.Referer = ":65188/logout.html";request.Headers["X-Requested-With"] = "XMLHttpRequest";request.Headers["Upgrade-Insecure-Requests"] = "1";request.CookieContainer = InCookieContainer;request.ProtocolVersion = HttpVersion.Version10;request.Method = "POST";request.ContentType = "application/x-www-form-urlencoded";request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; LCTE; rv:11.0) like Gecko";    

设置Cookie

 //设置Cookie  为//  JSESSIONID=ssK4hDfQBhw57cTd7hgQsG11hLPzP15cS2TtLFqngVKLn1DJVyng!-2079575147//  PHPSESSID=ST-1366910325-SUoGiN9dd9k40chfOUCh-cas01exampleorgrequest.Headers["Cookie"] = cooks;





更多推荐

使用程序自动登录网站

本文发布于:2024-03-07 05:53:47,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1717008.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:自动登录   程序   网站

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!