curl_setopt($ch, CURLOPT_POSTFIELDS, $postfield); //设置POST提交的字符串
1.其中这里的 CURLOPT_POSTFIELDS是保存在http的Header中还是哪里?
2.与网页中表单Form的Post方式有何区别?
我是做DELPHI的,然后IDHTTP控件模拟网页的POST方式,但与PHP的这个好像有点区别。
$postfield这里的只看到有指定值,没看到有指定NAME属性哎。

解决方案 »

  1.   

    $postfield 是将表单所有的name和value按照键值对方式用&连接起来的字串依据http协议,它不属于header,而是正文(与header部分理应有\r\n\r\n隔开)
      

  2.   

    POST方式的话是用换行隔开的吗?如果不指定他的NAME只有一个VALUE提交上去是啥结果呀?
      

  3.   

    合法的格式应该是 类似'para1=val1&para2=val2&...'或使用一个以字段名为键值,字段数据为值的数组你只传value,那么目标页面就无法获取你提交的值咯。
      

  4.   

    无论什么方式,提交就是发送字串而已,一般post是由浏览器做这个事
    curl只是模拟post,只是把一些参数组织起来发送,代替了浏览器
    你两个delphi月排行第一,应该也做过socket吧,socket不就是把字串按照http规范拼接起来发送么?我都说了是键值对,就必然有name了
    name=abcdefg&password=123456...
    只有value,结果就是服务端找不到所需要的变量啰