比如 我去 这个 http://qq.ip138.com/train/ 网站查询火车时刻表我填了个数据, 向浏览器发送请求
我使用Fiddler发现 浏览器向这个网站的服务器 post 了  stationname=%C4%CF%B2%FD&act=1 这个数据,告诉服务器我要查询什么!我的问题是浏览器是怎么知道这个post 数据的格式,并且知道POST什么得!  我觉得弄清这个问题很重要!

解决方案 »

  1.   

    html表单<form>中设置的是post他就是post,设置的是get他就是get
      

  2.   

    post和get请求响应格式是不同的,根据请求响应,就可以来判断是否是post了
    比如:GET /books/?name=Professional%20Ajax HTTP/1.1
    Host: www.wrox.com
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)
    Gecko/20050225 Firefox/1.0.1
    Connection: Keep-AlivePOST / HTTP/1.1
    Host: www.wrox.com
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)
    Gecko/20050225 Firefox/1.0.1
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 40
    Connection: Keep-Alive
         (----此处空一行----)
    name=Professional%20Ajax&publisher=Wiley
      

  3.   

    不是啊 我的问题是 浏览器是怎么知道要POST什么数据?然后浏览器是怎么知道POST的数据的格式?
      

  4.   

    在你的表单里提交的是什么数据
    POST的就是什么数据
      

  5.   

    是不是通过查看 提交的那张HTML网页 找?
      

  6.   

    %C4%CF%B2%FD    it's the unicode form of parameters you transfered
      

  7.   

    stationname=%C4%CF%B2%FD&act=1%C4%CF%B2%FD我知道 这其实是我输入的查询的  地址的  unicode形式我只是找不到 浏览器 是如何知道 stationname= “我填写的”&act=1  这样提交呢? 是不是 这个字符串是写在提交的那个 按钮的 单击事件里 我们看不到呢?
      

  8.   

    这个是post请求的时候对你填写的内容进行了字符编码,比如utf-8编码
      

  9.   


    大哥 我知道,您能告诉我这个POST的字符串是怎么产生的吗?
      

  10.   

    当你点击提交按钮或者脚本调用了form.submit()方法后,
    如果form的method为POST,则浏览器会遍历这个form中所有的input和select找到所有没有disabled的,然后按HTTP协议中的规范生成POST段的字符串,格式为
    name1=value1&name2=value2其中value1和value2会进行URL编码,这个同样为HTTP协议中规定的
      

  11.   

    form.submit()方法  能在 这个提交的网页里找到吗?因为我发现 有个网页提交的内容 有个密码令牌样的东西,我百思不得其解 是哪里跑出来的数字,因为每次提交同样一个东西这对数字都会变!
      

  12.   

    如果是点击提交按钮,则没有submit()这个调用。如果是脚本触发才会有密码令牌样的东西
    --
    这个不知道你指网页上有类似银行、淘宝等网站的密码输入框,还是只是一个随机数字的隐藏域前者,可以是网页上有一个隐藏域,在提交时读取控件的密码再提交表单,又或者直接由控件本身生成表单提交
    后者就只是一个简单的<input type=hidden而已
      

  13.   

    default method is get if you don't write method="post"that means when you submit to a page, all the parameters in a form will be transfered in the url such as xxx.jsp?name=jim&age=18&otherparam=ok
      

  14.   

    <input type="submit">  will trigger the submit function
    but <input type="button"> will not trigger the submit function
    so if you want to use button  you should write like this <input type="button" onclick="javascript:document.forms[0].submit()">but I still don't know what you exactly want to know.
      

  15.   

    daocha:
    Can you speak chinese? 
    事实上我在写一个模拟浏览器提交请求 得到数据的程序,我使用Fiddler发现了 post 的内容
    比如下面的reqCode=bro34wse8BASE&m8y8Em8s8barCo8de=9880186900836&m8ai8l8Nu8m=EF309475435CS&88BBB88FF8F0EF1F02ED46BC610=3H%23J&opt8iji8ao8t.x=0&o8pt8ij8iaot.y=0m8y8Em8s8barCo8de=9880186900836  这种都是可以在提交网页里的源代码里找到的!除了这项opt8iji8ao8t.x=0&o8pt8ij8iaot.y=0,其他的含义我都知道,唯独这个opt8iji8ao8t.x=0&o8pt8ij8iaot.y=0  我不知道这两个0是怎么算出来的!
      

  16.   

    所以 我想知道浏览器 是怎么知道POST数据的格式  并且知道POST的是什么  就像这两个0是怎么算出来的!
    我试了  每次提交 这两个X Y的值都是不一样得!这个问题困扰很久了,我都两天两夜 没睡觉了,也许大家觉得我说话款张,不过是真的!
      

  17.   

    can you paste the whole <form> source code?
      

  18.   

    Can you add me to your QQ?we can talk in private!
    ?