1. 易语言POST登陆网页问题
你这样说有点模糊哦。不过我看了这一行应该行不通,得改一下临时反回信息
=
彗星HTTP读文件
(“
http://www.91555.com/index.aspx”,
“POST”,
,
,
编辑框1.内容
+
编辑框2.内容
+
编辑框3.内容,
)楼上的说到了一点,你首先要截取封包--抓包,分析懂了封包,再将3个编辑框按封包格式要求修改(应该要加密,那么你就要先懂得他怎么加密数据的了)一下,再可以发送。。。你可以下载个包的分析工具。
2. servlet能模拟post请求,访问其他网站地址吗
可以呀 使用重定向 就可以了呀。。response.setredirect(”其他网站地址“);
3. http请求中get和post请求的区别
一、原理区别
一般我们在浏览器输入一个网址访问网站都是GET请求;再FORM表单中,可以通过设置Method指定提交方式为GET或者POST提交方式,默认为GET提交方式。
HTTP定义了与服务器交互的不同方法,其中最基本的四种:GET,POST,PUT,DELETE,HEAD,其中GET和HEAD被称为安全方法,因为使用GET和HEAD的HTTP请求不会产生什么动作。不会产生动作意味着GET和HEAD的HTTP请求不会在服务器上产生任何结果。但是安全方法并不是什么动作都不产生,这里的安全方法仅仅指不会修改信息。
根据HTTP规范,POST可能会修改服务器上的资源的请求。比如CSDN的博客,用户提交一篇文章或者一个读者提交评论是通过POST请求来实现的,因为再提交文章或者评论提交后资源(即某个页面)不同了,或者说资源被修改了,这些便是“不安全方法”。
二、表现形式区别
搞清楚了两者的原理区别后,我们来看一下在实际应用中的区别。
首先,我们先看一下HTTP请求的格式:
<method><request-URL><version>
<headers>
<entity-body>
<method> <request-URL> <version>
<headers>
<entity-body>
在HTTP请求中,奇异行必须是一个请求行,包括请求方法,请求URL,报文所用HTTP版本信息。紧接着是一个herders小节,可以有零个或一个首部,用来说明服务器要使用的附加信息。在首部之后就是一个空行,最后就是报文实体的主体部分,包含一个由任意数据组成的数据块。但是并不是所有的报文都包含实体的主体部分。
GET请求实例:
GEThttp://weibo.com/signup/signup.php?inviteCode=2388493434
Host:weibo.com
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
GET http://weibo.com/signup/signup.php?inviteCode=2388493434
Host: weibo.com
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
POST请求实例:
POST/inventory-check.cgiHTTP/1.1
Host:www.joes-hardware.com
Content-Type:text/plain
Content-length:18
item=bandsaw2647
POST /inventory-check.cgi HTTP/1.1
Host: www.joes-hardware.com
Content-Type: text/plain
Content-length: 18
item=bandsaw 2647
接下来看看两种请求方式的区别:
1、GET请求,请求的数据会附加在URL之后,以?分割URL和传输数据,多个参数用&连接。URL的编码格式采用的是ASCII编码,而不是uniclde,即是说所有的非ASCII字符都要编码之后再传输。
POST请求:POST请求会把请求的数据放置在HTTP请求包的包体中。上面的item=bandsaw就是实际的传输数据。
因此,GET请求的数据会暴露在地址栏中,而POST请求则不会。
2、传输数据的大小
在HTTP规范中,没有对URL的长度和传输的数据大小进行限制。但是在实际开发过程中,对于GET,特定的浏览器和服务器对URL的长度有限制。因此,在使用GET请求时,传输数据会受到URL长度的限制。
对于POST,由于不是URL传值,理论上是不会受限制的,但是实际上各个服务器会规定对POST提交数据大小进行限制,Apache、IIS都有各自的配置。
3、安全性
POST的安全性比GET的高。这里的安全是指真正的安全,而不同于上面GET提到的安全方法中的安全,上面提到的安全仅仅是不修改服务器的数据。比如,在进行登录操作,通过GET请求,用户名和密码都会暴露再URL上,因为登录页面有可能被浏览器缓存以及其他人查看浏览器的历史记录的原因,此时的用户名和密码就很容易被他人拿到了。除此之外,GET请求提交的数据还可能会造成Cross-site request frogery攻击
4、HTTP中的GET,POST,SOAP协议都是在HTTP上运行的
三、HTTP响应
HTTP响应报文的格式
<version><status><reason-phrase>
<headers>
<entity-body>
<version> <status> <reason-phrase>
<headers>
<entity-body>
status,状态码描述了请求过程中发生的情况
reson-phrase 是数字状态码的可读版本
常见的状态码以及含义如下:
200 OK 服务器成功处理请求
301/302 Moved Permanently(重定向)请求的URL已移走。响应报文中应该包含一个Location URL,说明资源现在所处的位置
304 Not Modified(未修改) 客户的缓存资源是最新的,要客户端使用缓存内容
404 Not Found 未找到资源
501 Internal Server Error 服务器遇到错误,使其无法对请求提供服务
HTTP响应示例
HTTP/1.1 200 OK
[plain] view plain print?
Content-type:text/plain
Content-length:12
HelloWorld!
Content-type: text/plain
Content-length: 12
Hello World!
4. 易语言POST访问的问题
子程序名:彗星HTTP读文件
有可能线程阻塞,请在外部加超时判断
返回值类型:字节集
参数<1>的名称为“完整网址”,类型为“文本型”。
参数<2>的名称为“访问方式”,类型为“文本型”,允许接收空参数数据。注明:"GET" or "POST",为空默认"GET"。
参数<3>的名称为“代理地址”,类型为“文本型”,允许接收空参数数据。
参数<4>的名称为“附加协议头”,类型为“文本型”,允许接收空参数数据。
参数<5>的名称为“提交信息”,类型为“文本型”,允许接收空参数数据。注明:"POST"专用。
参数<6>的名称为“网页头”,类型为“文本型”,接收参数数据时采用参考传递方式,允许接收空参数数据。注明:返回网页头部信息。
请注意参数二,有个访问方式,你要投递信息就要填"POST"
5. 求助,网页POST问题
name=asd&password=sad target=_blank.mdm/test.asp?name=asd&password=sad/a,数据都会直接显示在 url 上,就像用户点击一个链接一样;Post 方法通过 HTTP post 机制,将表单内各字段名称与其内容放置在 HTML 表头(header)内一起传送给服务器端交由 action 属性能所指的程序处理,该程序会通过标准输入(stdin)方式,将表单的数据读出并加以处理
2、 Get 方式需要使用 Request.QueryString 来取得变量的值;而 Post 方式通过 Request.Form 来访问提交的内容
3、Get 方式传输的数据量非常小,一般限制在 2 KB 左右,但是执行效率却比 Post 方法好;而 Post 方式传递的数据量相对较大,它是等待服务器来读取数据,不过也有字节限制,这是为了避免对服务器用大量数据进行恶意攻击,根据微软方面的说法,微软对用 Request.Form() 可接收的最大数据有限制,IIS 4 中为 80 KB 字节,IIS 5 中为 100 KB 字节
建议:除非你肯定你提交的数据可以一次性提交,否则请尽量用 Post 方法
4、Get 方式提交数据,会带来安全问题,比如一个登陆页面,通过 Get 方式提交数据时,用户名和密码将出现在 URL 上,如果页面可以被缓存或者其他人可以访问客户这台机器,就可以从历史记录获得该用户的帐号和密码,所以表单提交建议使用 Post 方法;Post 方法提交的表单页面常见的问题是,该页面如果刷新的时候,会弹出一个对话框
建议:出于安全性考虑,建议最好使用 Post 提交数据
6. 初学post求助 网页访问s
functionpost(URL,PARAMS){
vartemp=document.createElement("form");
temp.action=URL;
temp.method="post";
temp.style.display="none";
for(varxinPARAMS){
varopt=document.createElement("textarea");
opt.name=x;
opt.value=PARAMS[x];
temp.appendChild(opt);
}
document.body.appendChild(temp);
temp.submit();
}
//调用方法如
post('pages/statisticsJsp/excel.action',{html:prnhtml,cm1:'sdsddsd',cm2:'haha'});
7. PHP中怎样发送post请求并获取网页
$post='POST数据';
//初始化
$curl=curl_init('URL');
$header=array();
$header[]='User-Agent:Mozilla/5.0(WindowsNT6.1)AppleWebKit/537.36(KHTML,likeGecko)Chrome/42.0.2311.90Safari/537.36';
curl_setopt($curl,CURLOPT_HTTPHEADER,$header);
//不输出header头信息
curl_setopt($curl,CURLOPT_HEADER,0);
//保存到字符串而不是输出
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
//post数据
curl_setopt($curl,CURLOPT_POST,1);
//请求数据
curl_setopt($curl,CURLOPT_POSTFIELDS,$post);
//是否抓取跳转后的页面
curl_setopt($curl,CURLOPT_FOLLOWLOCATION,1);
$response=curl_exec($curl);
curl_close($curl);
echo$response;
8. 如何通过浏览器实现post请求
第一步:点击firefox右上方的菜单键-->[ 附加组件 ],在搜索框中输入【poster】,然后点击【安装】
安装完成后重启狐火浏览器(PS:如果在安装过程中出现下载失败,或者下载缓慢,你可以尝试重启火狐浏览器,很多情况下重启总能解决很多问题)
9. POST访问网站时,参数之间以什么字符分隔
get请求才用符号分隔参数,post不是这么传递的