ASP模拟POST请求异步提交数据的方法

有时需要获取远程网站的某些信息,而服务器又限制了GET方式,只能通过POST数据提交,这个时候我们可以通过asp来实现模拟提交post数据,网上有挺多这样的例子的。下面的是我自己写的比较简洁易懂的函数。

首先,需要一个编码设置的函数,因为asp一般为gbk的,而标准的网站现在大都使用utf-8的。所以需要转换。

代码如下:

function BytesToBstr(body,Cset)
dim objstream
set objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End function

其次就是用组件实现post数据的提交了,我这里使用了MSXML2.SERVERXMLHTTP.3.0。当然也可以使用其他的。

代码如下:

function PostHTTPPage(url,data)
dim Http
set Http=server.createobject("MSXML2.SERVERXMLHTTP.3.0")
Http.open "POST",url,false
Http.setRequestHeader "CONTENT-TYPE", "application/x-www-form-urlencoded"
Http.send(data)
if Http.readystate<>4 then
exit function
End if
PostHTTPPage=bytesToBSTR(Http.responseBody,"utf-8")
set http=nothing
if err.number<>0 then err.Clear
End function

使用的时候就是这样子:

代码如下:

PostHTTPPage("www.jb51.net","str1=a&str2=b&str3=c")

(0)

相关推荐

  • ci检测是ajax还是页面post提交数据的方法

    本文实例讲述了ci检测是ajax还是页面post提交数据的方法.分享给大家供大家参考.具体实现方法如下: 一.问题: 因为项目需要我们希望知道提交数据来源是由ajax提交过来的数据还是由页面的post提交过来的数据从而进行不同层面上的处理. 二.解决方法: 在php中解决方法如下: 如果是ajax请求,以下表达式的值为真 复制代码 代码如下: $_SERVER["HTTP_X_REQUESTED_WITH"]=="XMLHttpRequest" 就是一个PHP的环境

  • 使用Post方式提交数据到Tomcat服务器的方法

    我在上一篇文章中介绍了 使用Get方式提交数据到Tomcat服务器,这篇将介绍使用Post方式提交数据到服务器,由于Post的方式和Get方式创建Web工程是一模一样的,只用几个地方的代码不同所以,我就直接介绍不同的地方,第一个不同点是,提交方式不同,所以修改LoginServlet.Java中的代码 package com.fyt.org; import java.io.IOException; import java.io.OutputStream; import java.io.Print

  • 免安装的Tomcat服务器的基本配置和安装

    假期的时候偶尔安装了一下,安装版和免安装版的都试过了,觉得免安装版的比较好一点,涉及到的配置比较多,文件也多,根据我现在掌握的知识,简单的做了一下免安装版的tomcat的基本配置和安装方法. 一.配置JDK 要想在自己的计算机上安装Tomcat,需要JDK的支持,因为Tomcat是用java语言编写的一个很轻量级的Web服务器. Java SE的最新版下载地址:http://www.jb51.net/softs/75615.html 1.首先将自己下载的jdk(这里使用的是1.7)下载后,解压或

  • php采用ajax数据提交post与post常见方法总结

    本文实例讲述了php采用ajax数据提交post与post常见方法.分享给大家供大家参考.具体方法如下: 在很多情况下我们使用ajax是不会有什么问题的,但有时会碰到ajax数据提交post不完整的问题,这里举例给大家分析一下. 下边是一个标准的ajax请求代码,正常情况下是不会有任何问题的,但是,在特定情况下就会出现问题,比如,username=fdas&321的时候,或者参数值中出现了&符号,经过了N多遍测试,发现数据都传输了,但是打印出来数据是半截,最后仔细观察头信息发现传输的头不对

  • php curl模拟post提交数据示例

    复制代码 代码如下: <?header("Content-type: text/html; charset=utf8");/* * 提交请求* @param $header array 需要配置的域名等header设置 array("Host: devzc.com");* @param $data string 需要提交的数据 'user=xxx&qq=xxx&id=xxx&post=xxx'....* @param $url stri

  • 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/',      

  • java中form以post、get方式提交数据中文乱码问题总结

      一:form在前台以post方式提交数据: 浏览器将数据(假设为"中国")发送给服务器的时候,将数据变成0101的二进制数据(假设为98 99)时必然要查码表,浏览器以哪个码表打开网页,浏览器就以哪个码表提交数据.数据到达服务器后,数据(98 99)要封装到request中,在servlet中调用Request的getParameter方法返回的是字符串("中国"),方法内部拿到数字后要转成字符,一定要查码表,由于request的设计者是外国人,所以默认查的是他

  • jquery ajax post提交数据乱码

    在用jquery处理html5的应用的时候,一直在firefox下测试都正常,用户用pad访问的时候说有乱码,自己试验了下果然,后发现chrome和ie内核下都是有此问题,此问题设置了页面属性为utf-8时候,只有firefox是传的charset=utf-8的头文件chrome和ie都没有指定,所以出现乱码问题.解决方法: 复制代码 代码如下: $.ajaxSetup({  contentType: "application/x-www-form-urlencoded; charset=utf

  • 使用Get方式提交数据到Tomcat服务器的方法

    这篇文章将介绍向服务器发送数据,并且服务器将数据的处理结果返回给客户端,这次先介绍使用Get方式向服务器发送数据,下篇将介绍使用Post方式向服务器发送数据,需要的朋友参考下吧! 实现方式分为以下几步: 第一步:使用MyEclipse创建一个Web project,项目命名为WebProject->在src文件夹中新建一个包名为com.fyt.org的包 ->在包中新建一个Servlet,Servlet命名为LoginServlet,并在LoginServlet.Java中添加下面的代码 pa

  • 解决angular的$http.post()提交数据时后台接收不到参数值问题的方法

    写此文的背景:在学习使用angular的$http.post()提交数据时,后台接收不到参数值,于是查阅了相关资料,寻找解决办法. 写此文的目的:通过上面提到的文章中的解决之道,结合自己的经验,总结了如下发现. 前端:html,jquery,angular 后端:java,springmvc 一.平常使用的post提交和接收方式 前端使用jquery提交数据. $.ajax({ url:'/carlt/loginForm', method: 'POST', data:{"name":&

  • php中用socket模拟http中post或者get提交数据的示例代码

    废话不多说.直接上代码:sock_post.php: 复制代码 代码如下: <?phpfunction sock_post($url, $data='') {  $url = parse_url($url);  $url['scheme'] || $url['scheme'] = 'http';  $url['host'] || $url['host'] = $_SERVER['HTTP_HOST'];  $url['path'][0] != '/' && $url['path']

  • Tomcat服务器 安全设置第1/3页

    另外,由于其功能比较单纯需要我们进一步地进行设置.本机将从安全和功能两方面谈谈基于Tomcat的Web服务器的部署,希望对大家有所帮助. 环境描述 OS:Windows Server 2003 IP:192.168.1.12 Tomcat:6.0.18 1.安全测试 (1).登录后台 在Windows Server 2003上部署Tomcat,一切保持默认.然后登录Tomcat后台,其默认的后台地址为: http://192.168.1.12:8080/manager/html.在浏览器中输入该

  • python通过post提交数据的方法

    本文实例讲述了python通过post提交数据的方法.分享给大家供大家参考.具体实现方法如下: # -*- coding: cp936 -*- import urllib2 import urllib def postHttp(name=None,tel=None,address=None, price=None,num=None,paytype=None, posttype=None,other=None): url="http://www.xxx.com/dog.php" #定义要

随机推荐