ASP利用XMLHTTP实现表单提交以及cookies的发送的代码
确实,如果在原网站如果存在表单提交或cookies的验证,对于ASP来说,不使用基于SOCKET的组件就难以完成,其实,XMLHTTP的另外两个方法被我们忽略了,而这正是问题的关键。
下面首先来说说这个方法
1。.send()
由于流行的小偷是使用的GET而不是POST来传送数据,所以很多人忽略了这个方法,而使用SEND发送数据也很简单,就是SEND("内容"),可是,
发送表单就不是这么简单,因为你发送的表单如果是中文的话,就要牵扯到编码的问题了。
首先,你在OPEN 时要确定是用POST 即 .open("POST",地址,是否异步) 。
然后,在SEND里面加上你表单的内容,比如说,你要提交的表单有3个表单域,分别是A,B,C,对应的值分别是1,2,3,那么,你在SEND里这样写就可以提交表单了,.send("A=1&B=2&C=3"),怎么样,很简单吧,是不是没想到呢?但是别高兴的太早了,我前面说到了,如果表单的值是中文的话,数据传输的就会出错了。这里我们借助一个函数escape(),熟悉JAVASCRIPT的朋友都应该知道这个函数的作用了,现在VBSCRIPT同样支持这个函数。.send("A=escape('值1')&B=escape('值2')&C=escape('值3')") 。
2。.setRequestHeader()
接着上面的所说,你的数据send出去了,对方却不会接收到,为什么了,其实,那是因为你的HTTP头少了一个东西,然后用这个函数把加上去就可以了,具体就是.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded"), 告诉对方你是提交了一个urlencode编码的表单。
好的,说完了表单的提交来说怎么传送cookies。
其实传送cookies也很简单了,同样利用这个函数在HTTP头里添加东西,比如,我当前在落伍的cookies是
cdb_sid=ybBiK0; cdb_cookietime=315360000; cdb_oldtopics=D869008D; cdb_visitedfid=1D45; cdb_auth=AQYHXVFDGERdsggVQA1VYUgxQDwFVV1dUAlwFAFRXVwU%2FbAIJB1lUCg; cdb_fid45=1113370145
现在我要发送这个cookies就直接是 .setRequestHeader("Cookie","cdb_sid=ybBiK0; cdb_cookietime=315360000; cdb_oldtopics=D869008D; cdb_visitedfid=1D45; cdb_auth=AQYHXVFDGERdsggVQA1VYUgxQDwFVV1dUAlwFAFRXVwU%2FbAIJB1lUCg; cdb_fid45=1113370145")
当然,有些网站页面有页面判断功能,这个也不难,就是.setRequestHeader("Referer","来路的绝对地址")
相关推荐
-
C# HttpClient Cookie验证解决方法
自实现的cookie 验证,远程取值的例子 以下代码配合HttpClient使用可以实现跨域(cookie的读写) //验证 复制代码 代码如下: HttpClient httpClient = new HttpClient(url, null, true); httpClient.PostingData.Add(key,value);//登录用户名 httpClient.PostingData.Add(key,value);//密码 string str = httpClient.GetStr
-
.net 获取浏览器Cookie(包括HttpOnly)实例分享
一.接口文件 复制代码 代码如下: using System; using System.ComponentModel; using System.Net; using System.Runtime.InteropServices; using System.Security; using System.Security.Permissions; using System.Text; namespace CookieHandler { internal sealed class INat
-
Python模仿POST提交HTTP数据及使用Cookie值的方法
本文实例讲述了在Python中模仿POST HTTP数据及带Cookie提交数据的实现方法,分享给大家供大家参考.具体实现方法如下: 方法一 如果不使用Cookie, 发送HTTP POST非常简单: 复制代码 代码如下: import urllib2, urllib data = {'name' : 'www', 'password' : '123456'} f = urllib2.urlopen( url = 'http://www.jb51.net/',
-
httpclient模拟登陆具体实现(使用js设置cookie)
httpclient模拟登陆(使用js设置cookie) 复制代码 代码如下: <html> <meta http-equiv='Content-Type' content='text/html; charset=gb2312'> <link rel=stylesheet type=text/css href='/bbs.css'> <script>document.cookie='utmpnum=51;path=/;domain=.' + window.l
-
AndroidHttpClient使用Cookie应用分析
今天想把一个用使用了HttpClient的自动签到小程序移植到Android上,还好Android的SDK自带了HttpClient的包.翻Android的文档时发现官方还提供了一个实现了HttpClient接口的AndroidHttpClient,上网搜了下没发现关于AndroidHttpClient的文章.当然也可以继续使用DefaultHttpClient,但用为Android定制的AndroidHttpClient自然更好. 下面是2个测试用的HttpServlet: 复制代码 代码如下
-
利用Microsoft.XMLHTTP控件发送COOKIE
作者:czy <czy82@elong.com> 出处:http://www.nsfocus.net 日期:2003-09-03 (注意由于论坛会对文章中的一些字符作处理,所以最好到 http://www.chinansl.com/czy/xmlhttp.txt看文章 http://www.chinansl.com/czy/aspsky5.htm测试代码) 跨站脚本攻击想必各位都已经是很熟悉了,但是得到COOKIE的时候一直有一个 问题:总是要用WINDOW.OPEN弹一个窗体出来然后发送CO
-
用VBS实现的发送带Cookie的HTTP请求的代码
为了方便测试,先写一个回显Cookie的简单的PHP程序: 复制代码 代码如下: <?php foreach($_COOKIE as $key => $value) echo "$key => $value\r\n"; ?> 然后分别用ServerXMLHTTP和XMLHTTP测试: 复制代码 代码如下: Dim http Set http = CreateObject("Msxml2.XMLHTTP") http.open "GE
-
详解HTTP Cookie状态管理机制
HTTP cookies,通常又称作"cookies",已经存在了很长时间,但是仍旧没有被予以充分的理解.首要的问题是存在了诸多误区,认为cookies是后门程序或病毒,或压根不知道它是如何工作的.第二个问题是对于cookies缺少一个一致性的接口.尽管存在着这些问题,cookies仍旧在web开发中起着如此重要的作用,以至于如果cookie在没有可替代品出现的情况下消失,我们许多喜欢的Web应用将变得毫无用处. 一.cookie 起源 cookie 最早是网景公司的雇员 Lou Mo
-
ASP利用XMLHTTP实现表单提交以及cookies的发送的代码
确实,如果在原网站如果存在表单提交或cookies的验证,对于ASP来说,不使用基于SOCKET的组件就难以完成,其实,XMLHTTP的另外两个方法被我们忽略了,而这正是问题的关键. 下面首先来说说这个方法 1..send() 由于流行的小偷是使用的GET而不是POST来传送数据,所以很多人忽略了这个方法,而使用SEND发送数据也很简单,就是SEND("内容"),可是, 发送表单就不是这么简单,因为你发送的表单如果是中文的话,就要牵扯到编码的问题了. 首先,你在OPEN
-
ASP小偷程序如何利用XMLHTTP实现表单的提交
[原创]ASP小偷程序如何利用XMLHTTP实现表单的提交以及cookies或session的发送 利用XMLHTTP来制作小偷的具体细节落伍很多人都发过和讨论过了,但是在制作ASP小偷的过程中,很多人就发现ASP小偷不如PHP小偷的那么强 大了.确实,如果在原网站如果存在表单提交或cookies的验证,对于ASP来说,不使用基于SOCKET的组件就难以完成,其实,XMLHTTP的另外两 个方法被我们忽略了,而这正是问题的关键. 下面首先来说说这个方法 1..send() 由于流行的小偷是使用的
-
EasyUI在表单提交之前进行验证的实例代码
使用EasyUi我们可以在客户端表单提交之前进行验证,过程如下:只需在onSubmit的时候使用return $("#form1").form('validate')方法即可,EasyUi中form模块中的from('validate')方法会自行对我们指定的表单中required=true等需要验证的的元素进行验证,但有不通过的元素时返回一个false; $("#form").form({ url: 'login.ashx', onSubmit: function
-
利用JavaScript阻止表单提交的两种方法
在JavaScript中,阻止表单默认提交行为的方法有两种,分别是: (1) return false 示例代码 <form name="loginForm" action="login.aspx" method="post"> <button type="submit" value="Submit" id="submit">Submit</button&g
-
jQuery select表单提交省市区城市三级联动核心代码
jQuery select表单提交省市区城市三级联动,引用的是"jquery-1.7.min"类库,地区码查询地区名用数组存在AreaData_min,下面摘要部分代码: SelectArea.htm文件 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transition
-
在表单提交前进行验证的几种方式整理
在表单提交前进行验证的几种方式 . 在Django中,为了减轻后台压力,可以利用JavaScript在表单提交前对表单数据进行验证.下面提供了有效的几种方式(每个.html文件为一种方式). formpage1.html 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional
-
HttpClient实现表单提交上传文件
本文实例为大家分享了HttpClient实现表单提交上传文件的具体代码,供大家参考,具体内容如下 需求:如何利用HttpClient,发起post请求,模拟表单提交,在后端上传文件? 上传文件接口: /** * 文件上传测试接口 * @return */ @PostMapping("/upload") public Object uploadFileTest(@RequestParam("file") Multipart
-
表单提交前触发函数返回true表单才会提交
直接看代码 复制代码 代码如下: <form id="payForm" action="yeepaypay.html" target="_blank" method="post" onsubmit="return checkform();"> 例子中的onsubmit函数即为表单提交前触发的函数 复制代码 代码如下: function checkform() { var value = $(&q
-
Asp.Net模拟表单提交数据和上传文件的实现代码
如果你需要跨域上传内容到另外一个域名并且需要获取返回值,使用Asp.Net的作为代理是最好的办法,要是客户端直接提交到iframe中,由于跨域是无法用javascript获取到iframe中返回的内容的.此时需要在自己的网站做一个动态页作为代理,将表单提交到动态页,动态页负责将表单的内容使用WebClient或HttpWebRequest将表单数据再上传到远程服务器,由于在服务器端进行操作,就不存在跨域问题了. WebClient上传只包含键值对的文本信息示例代码: 复制代码 代码如下: str
-
Asp.net webForm设置允许表单提交Html的方法
1.在表单需要提交Html的页面头部加入 ValidateRequest="false" <%@ Page Language="C#" AutoEventWireup="true" ValidateRequest="false" %> 2.webConfig 的 <system.web> 节点下配置 <httpRuntime requestValidationMode="2.0&qu
随机推荐
- Angular中的Promise对象($q介绍)
- SqlServer 2005中使用row_number()在一个查询中删除重复记录
- js监听鼠标点击和键盘点击事件并自动跳转页面
- PHP SPL标准库中的常用函数介绍
- php实现快速排序法函数代码
- 浅谈Python中的数据类型
- Golang最大递减数算法问题分析
- 检测用户按键
- nodejs中模块定义实例详解
- JS不能跨域借助jquery获取IP地址的方法
- Java编程实现提取文章中关键字的方法
- 蓝舰网络为您提供25M免费全能型空间服务
- Vue调试神器vue-devtools安装方法
- swift中AnyObject和Any的介绍与区别详解
- Linux如何实现断点续传文件功能
- 浅谈Java BitSet使用场景和代码示例
- 详解Maven安装教程及是否安装成功
- .net core高吞吐远程方法如何调用组件XRPC详解
- 易语言取得选择夹中所有子夹数量的方法
- 详解C#中的字符串拼接@ $